2018-01-02 15:30:26 -05:00
|
|
|
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "IncludePython.h"
|
|
|
|
|
#include "PyConversionMethod.h"
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
#include "PyConversionResult.h"
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
#include "PyWrapperOwnerContext.h"
|
|
|
|
|
#include "UObject/Class.h"
|
|
|
|
|
#include "Templates/EnableIf.h"
|
|
|
|
|
#include "Templates/UnrealTemplate.h"
|
|
|
|
|
#include "Templates/PointerIsConvertibleFromTo.h"
|
|
|
|
|
|
|
|
|
|
#if WITH_PYTHON
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Conversion between native and Python types.
|
|
|
|
|
* @note These functions may set error state when using ESetErrorState::Yes.
|
|
|
|
|
*/
|
|
|
|
|
namespace PyConversion
|
|
|
|
|
{
|
|
|
|
|
enum class ESetErrorState : uint8 { No, Yes };
|
|
|
|
|
|
|
|
|
|
/** bool overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, bool& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const bool Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** int8 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, int8& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const int8 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** uint8 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, uint8& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const uint8 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** int16 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, int16& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const int16 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** uint16 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, uint16& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const uint16 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** int32 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, int32& OutVal, const ESetErrorState ErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const int32 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** uint32 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, uint32& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const uint32 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** int64 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, int64& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const int64 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** uint64 overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, uint64& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const uint64 Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** float overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, float& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const float Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** double overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, double& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const double Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** FString overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, FString& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const FString& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** FName overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, FName& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const FName& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** FText overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, FText& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(const FText& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
|
|
|
|
|
/** void* overload */
|
|
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, void*& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(void* Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** UObject overload */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, UObject*& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult Pythonize(UObject* Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** Conversion for object types, including optional type checking */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult NativizeObject(PyObject* PyObj, UObject*& OutVal, UClass* ExpectedType, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeObject(UObject* Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
PyObject* PythonizeObject(UObject* Val, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
|
|
|
|
|
/** Conversion for class types, including optional type checking */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult NativizeClass(PyObject* PyObj, UClass*& OutVal, UClass* ExpectedType, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeClass(UClass* Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
PyObject* PythonizeClass(UClass* Val, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
/** Conversion for struct types, including optional type checking */
|
|
|
|
|
FPyConversionResult NativizeStruct(PyObject* PyObj, UScriptStruct*& OutVal, UScriptStruct* ExpectedType, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeStruct(UScriptStruct* Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
PyObject* PythonizeStruct(UScriptStruct* Val, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
|
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
MAJOR FEATURES & CHANGES
============================
Change 4112782 by Mitchell.Wilson
Resaving some cloth assets and fixing material compile warnings.
#jira UE-59946
Change 4112762 by Max.Chen
Sequence Recorder: Fix case where first recording is null but there are other valid recordings.
StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.
#jira UE-58688
Change 4112738 by Michael.Dupuis
#jira none:
Fixed Editor instance count, to only include placed instances.
Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
When deleting procedural foliage, we can now specify if we want to rebuild the tree.
Change 4112696 by Matt.Kuhlenschmidt
Prevent GC of material editor active preview expression
#jira UE-49777
Change 4112611 by Michael.Dupuis
Fixed Instance count when Alt+Dragging instance
#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost
Change 4112536 by Thomas.Sarkanen
Fixed static analysis warning caused by CL 4109096
#jira none
Change 4112139 by Phillip.Kavan
Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.
- Mirrored from //UE4/Dev-Framework (4111638).
#jira UE-53747
Change 4112138 by Phillip.Kavan
Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.
- Mirrored from //UE4/Dev-Framework (4111613).
#jira UE-59182
Change 4111630 by Matt.Collins
#jira UE-59934
Rolling back the previous integration of CL 4080446
Change 4111526 by Mike.Beach
Guarding against bad settings pointers internal to Oculus.
#jira UE-59778
Change 4111525 by Daniel.Wright
UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources. This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component). However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
#jira UE-59333
Change 4111518 by Mike.Beach
Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.
#jira UE-53643
Change 4111482 by Matt.Kuhlenschmidt
Fix blend sample context menu appering offset on high dpi monitors
#jira UE-59925
Change 4111362 by Ben.Marsh
Fix warnings building samples due to missing paths.
#jira
Change 4111299 by James.McNatton
Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404
Change 4111153 by Max.Chen
Sequencer: Fix dereferencing null pointer - CameraNode
#jira UE-59347
Change 4111143 by Matt.Collins
#jira UE-59934
CL 4107446 from Dev-Rendering.
Always force a commandbuffer submission during EndFrame.
Change 4111106 by Matt.Collins
#jira UERNDR-406
Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)
---
Some fixes for semaphore handling.
Moved the completion handler to EndFrame (out of FlushFreeList())
FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()
Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.
---
Change 4111099 by Ben.Zeigler
#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings
Change 4111039 by Ben.Zeigler
#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing
Change 4111013 by Steve.Robb
Fix for adding a new module to a project.
#jira UE-59770
Change 4110907 by Marc.Audy
Add required redirectorfor moving classes from TimeManagement to CoreUObject
#jira
Change 4110897 by Ben.Zeigler
#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead
Change 4110868 by Ben.Zeigler
#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first
Change 4110704 by Ben.Zeigler
#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind
Change 4110686 by Andrew.Grant
Resaved to fix empty engine version warning
#jira UE-59695
Change 4110466 by Ben.Zeigler
#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
Delete unused logo images
Change 4110418 by Ben.Zeigler
#jira UE-58025
Fix non editor builds
Change 4110258 by Max.Chen
Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.
- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
- Added a user toggle to match by name only. The default is true.
- When importing onto a selected node, disable the creation of cameras.
- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
- Remove any existing sections/keys when importing onto existing tracks.
#jira UE-59347
Change 4109923 by Michael.Dupuis
#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing
Change 4109916 by mason.seay
Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times
#jira UE-29618
Change 4109849 by Michael.Dupuis
#jira none: Removed PRAGMA_ENABLE_OPTIMISATION
Change 4109835 by Lukasz.Furman
added OnTaskFinished call when behavior tree's subtree is deactivated
#jira UE-48353
Change 4109829 by Ben.Zeigler
#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect
Change 4109820 by Michael.Dupuis
#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping
Change 4109813 by Michael.Dupuis
#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.
Change 4109780 by Alexis.Matte
Add the tps file for the levenshtein distance algorithm
#jira none
Change 4109567 by Ben.Marsh
Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.
#jira UE-55093
Change 4109542 by mason.seay
Updated timeline on BP
#jira UE-29618
Change 4109474 by Marc.Audy
Fix shadow variable warning
#jira UE-59895
Change 4109420 by Michael.Dupuis
#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit, do not assume it must always be valid, and simply skip it instead of crashing.
Change 4109397 by Ben.Marsh
Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.
#jira UE-59222
Change 4109395 by Lauren.Ridge
Removing legacy uses of GetEditorIcon from UMG
#jira UE-59038
Change 4109390 by Zachary.Wilson
Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
#jira UE-59409
Change 4109373 by Michael.Dupuis
#jira UE-58664
Restrict the Paint/Unpaint Density to 1.0
Restrict the Foliage Density type to 10000
Restrict the Grass Density type to 1000
Fixed a NAN that could be generated when adding instances
These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.
Change 4109348 by Lauren.Ridge
Removing engine content that used a material attribute layers node inside a material function
#jira UE-55739
Change 4109296 by Lauren.Ridge
Fix for crash on adding OnClicked event to button in Widget BP
#jira UE-59846
Change 4109193 by Matt.Kuhlenschmidt
Fixed crash when construction scripts are rerun during the details panel calling posteditchange
#jira UE-59649
Change 4109096 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4109078 by Ben.Marsh
Fix warnings building PlatformerGame due to incorrect include path.
#jira
Change 4109066 by Matt.Kuhlenschmidt
Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times
#jira UE-59866
Change 4109020 by Ben.Marsh
Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).
(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)
#jira UE-59641
Change 4108991 by Martin.Wilson
Fix crash when trying to extract transform from raw track with no track data.
#jira UE-58025
Change 4108987 by Martin.Wilson
Make sure rotations are normalized before creating blended transform
#jira UE-53971
Change 4108932 by Thomas.Sarkanen
Back out changelist 4108877
This was causing a 100% crash in an automated test
#jira none
Change 4108930 by Danny.Bouimad
Fixing testcase content #Jira UEQATC-405
Change 4108883 by Danny.Bouimad
Fixing Automated LodCurveLinkingTest1 #Jira UE-59763
Change 4108877 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4108874 by Thomas.Sarkanen
Fixed incorrect preview mesh being applied after retargeting
On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback
#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept
Change 4108834 by Thomas.Sarkanen
Pressing enter when selecting an object from a Blueprint node now works
#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes
Change 4108833 by Thomas.Sarkanen
Fixed crash caused by retargeting a skeleton when some of its animations are still open
Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.
#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]
Change 4108808 by Dmitriy.Dyomin
Fixed: ARPG crashes on Vulkan PC and Android
#jira UE-59781
Change 4108719 by Max.Chen
Sequencer: Fix CIS
#jira UESEQ-355
Change 4108675 by Max.Chen
Sequencer: Added audio support to FCP XML import/export
#jira UESEQ-355
Change 4108674 by Max.Chen
Sequencer: Upon export, log warnings when filename format is not '{shot}'
#jira UESEQ-358
Change 4108673 by Max.Chen
Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.
Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.
#jira UESEQ-358
Change 4108418 by Mark.Satterthwaite
Fix Shipping iOS builds.
#jira UE-59883
Change 4108118 by Alexis.Matte
Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
#jira UE-59854
#jira UE-57861
Change 4108059 by Ben.Marsh
Merge latest UGS fixes (up to 1.140) to 4.20 branch.
#jira
Change 4107719 by Mark.Satterthwaite
Duplicate 4107661:
Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.
#jira UE-59883
Change 4107443 by Lauren.Ridge
Fix for crash on connecting curve param node with no texture set
#jira UE-59880
Change 4107248 by Dan.Oconnor
Explicitly close floating Blueprint Debugger controls when the master tab is closed
#jira UE-59835
Change 4107137 by Jason.Bestimt
Removing ML Analytics Plugin to fix regressions
#JIRA: UE-59874, UE-59873
Change 4107125 by paulo.souza
#jira UE-59806 - ARPG - Goblin death not running all destroy logic
Change 4107113 by Phillip.Kavan
Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.
- Mirrored from //UE4/Dev-Framework (4081432).
#jira UE-59125
Change 4106736 by Jamie.Dale
Fixed content browser filter failing to match certain names if asset paths were omitted from the search
#jira UE-59849
Change 4106581 by Martin.Wilson
Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.
#jira UE-54851
Change 4106475 by Jason.Bestimt
Fix for Lumin Linux dependency in a better way
#JIRA: CIS
Change 4106201 by Michael.Trepka
Don't allow invalid cursor clip rects when locking the cursor on Mac
#jira UE-59842
Change 4106188 by Jason.Bestimt
Wrapping Lumin call with PLATFORM_LUMIN
#JIRA: CIS
Change 4106179 by Michael.Dupuis
#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
#4714
Change 4106176 by Martin.Wilson
Fix for crash introduced in 4105998
#jira UE-56395
Change 4106103 by Ben.Marsh
UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.
#jira
Change 4106081 by Marc.Audy
Fix shadow variable
#jira UE-59848
Change 4106078 by Jason.Bestimt
Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist
#JIRA: none
Change 4106015 by Martin.Wilson
Make sure that animations that have transform curves are up to date on loading.
#4320
#jira UE-53392
Change 4106005 by Anthony.Bills
[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll
#jira UE-59382
Change 4105998 by Martin.Wilson
Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones
#Jira UE-56395
Change 4105962 by Jeff.Fisher
Duplicating for 4.20:
Change: 4097595 and 4104555
UE-59359 Mr Mesh Crash at startup
-Vulkan does not work correctly unless we fill in all of the vertex buffers. MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.
#jira UE-59359
Change 4105952 by Ben.Marsh
Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.
#jira
Change 4105946 by Ben.Marsh
Disable debug info for IOS and TVOS in installed builds.
#jira UE-59816
Change 4105939 by Michael.Dupuis
#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu
Change 4105915 by Jamie.Dale
Implemented negative indexing for Python wrapped arrays
#jira UE-59841
Change 4105896 by Richard.Wallis
Another macOS TIS non-MainThread spam warning fix.
#jira UE-54623
Change 4105813 by Michael.Dupuis
#jira none: Prevent a possible crash if using world offset with a landscape without sub sections
Change 4105764 by Ben.Marsh
Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.
#jira
Change 4105747 by Ben.Marsh
Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)
#jira UE-59838
Change 4105642 by Jason.Bestimt
Disabling Lumin Platform Editor modules on linux
#JIRA: UE-59543
Change 4105553 by Matt.Kuhlenschmidt
PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)
#jira UE-57283
Change 4105486 by Michael.Dupuis
#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias
Change 4105474 by Michael.Dupuis
#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
#jira UE-58995:
Change 4105427 by Sorin.Gradinaru
UE-59698 Cannot load youtube URLs on Android
#jira UE-59698
#Android
#4.20
The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param
Change 4105308 by Mieszko.Zielinski
Merge of 4077826 over from Dev-Framework #UE4
#jira UE-59186
Change 4105050 by Ben.Marsh
Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.
#jira UE-59816
Change 4104584 by Mike.Beach
Mirroring CL 4103694 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104538 by Alexis.Matte
Fix crash when reloading a skeletal mesh actor with some vertex painting
#jira UE-57891
Change 4104534 by Mike.Beach
Mirroring CL 4090670/4094620 from Dev-VR
MR Calibration - Fixing an issue where the alignment models would disappear.
MR Calibration - Saving garbage mattes when exiting using escape.
#jira UEVR-24
Change 4104381 by Alexis.Matte
Fix a render thread crash when reimporting skeletal mesh
#jira UE-51935
Change 4104365 by Mike.Beach
Mirroring CL 4064903 from Dev-VR
Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.
#jira UE-58914
Change 4104341 by Alexis.Matte
Support non uniform scale scene transform for fbx skeletal mesh exporter
#jira UE-57733
Change 4104328 by Alexis.Matte
Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
#jira UE-58027
Change 4104318 by Phillip.Kavan
Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.
- Mirrored from //UE4/Dev-Framework (4082035).
#jira UE-59125
Change 4104305 by Mike.Beach
Mirroring CL 4098493 from Dev-VR
Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).
#jira UE-58953
Change 4104274 by Mike.Beach
Mirroring CL 4088048 from Dev-VR
Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.
#jira UE-59275
Change 4104259 by Mike.Beach
Mirroring CL 4084827/4085071 from Dev-VR
MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).
#jira UEVR-847
Change 4104246 by Mike.Beach
Mirroring CL 4084289 from Dev-VR
MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).
#jira UE-58187
Change 4104240 by Mike.Beach
Mirroring CL 4083160 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104233 by Mike.Beach
Mirroring CL 4081823 from Dev-VR
Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).
#jira UE-58190
Change 4104196 by Alexis.Matte
Unshelved from pending changelist '4075677':
Fix fbx scene re-import crash when the user re-import more then one time with some override material.
#jira UE-57937
Change 4104191 by Mike.Beach
Mirroring CL 4080389 from Dev-VR
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4104177 by Mike.Beach
Mirroring CL 4080119 from Dev-VR
CIS fix - circumventing vs2015 errors/warnings
#jira UE-59326, UE-59324
Change 4104170 by Mike.Beach
Mirroring CL 4078631 from Dev-VR
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4104167 by Jostin.Bilyeu
Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature
#jira UE-29618
Change 4104158 by Peter.Sumanaseni
#jira
Change 4104057 by Wes.Hunt
Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
#jira UE-59790
SOURCE CL 4101872 in //UE4/Main/...
Change 4104031 by Dan.Oconnor
Update assert to handle subobjects nested in components
#jira UE-56422
Change 4103946 by Dan.Oconnor
No need to load AnimationBlueprintEditor so early
#jira UE-59669
Change 4103859 by Brandon.Schaefer
Vulkan on Linux does not allow debugging with markers
This is required for debugging wtih Render Doc or anything that uses VK debug markers
#jira none
Change 4103677 by Sorin.Gradinaru
UE-59052 Can't use touch to interact with Web Browser on iPhoneX
#jira UE-59052
#iOS
#4.20
from CL4077699 on Dev-Mobile
Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)
Change 4103637 by Sorin.Gradinaru
UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android
#UE-39451
#Android
#4.30
from CL 4067204 on Dev-Mobile
Adding a proguard exception for the WebViewControl.FrameUpdateInfo
Change 4103619 by Marc.Audy
Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created
#jira UE-58875
Change 4103590 by mason.seay
Added Show Mouse Cursor
#jira UE-29618
Change 4103469 by paulo.souza
#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.
Change 4103459 by mason.seay
Updated maps so users can toggle UI-only input
#jira UE-29618
Change 4103423 by paulo.souza
#jira UE-59808 - Projectile abilities collision blocking on the camera trace
Change 4103280 by Jason.Bestimt
Fixing copyright in Lumin Plugins
#JIRA: 59192
Change 4103238 by JeanMichel.Dignard
Copied cl 4077328 from dev-enterprise
Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.
#jira UEENT-1423
Change 4103138 by Richard.Wallis
Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open. FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor. Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor
1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
3) Keep Editor and Game menu startup behaviour the same as before.
#jira UE-59704
Change 4102958 by mason.seay
Test map update
#jira UE-29618
Change 4102847 by Marc.Audy
Try and find the full path name for default value of class parameters
#jira UE-59746
Change 4102449 by Ben.Marsh
PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)
#jira UE-58275
Change 4102431 by Ben.Marsh
UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).
#jira UE-54979
Change 4102328 by Guillaume.Abadie
Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.
#jira none
Change 4102318 by Emil.Persson
Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
#jira UE-59217
Change 4102310 by Dmitriy.Dyomin
Fixed: UMG element clipping does not work on Android with Mali GPUs
#jira UE-56058
Change 4101920 by Ben.Marsh
Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.
#jira
Change 4101538 by Mark.Satterthwaite
Duplicate 4073368
Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.
#jira NA
Change 4101500 by Mark.Satterthwaite
Duplicate 4098091
On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.
#jira NA
Change 4101453 by Mark.Satterthwaite
Duplicate 4078874 & 4079396
Make LPV visualisation work on macOS to aid debugging.
#jira UE-58937
Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.
#jira UE-58937
Change 4101448 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4101417 by Sam.Deiter
#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.
Change 4101412 by Mark.Satterthwaite
Duplicate 4075868
Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.
#jira N/A
Change 4101393 by Mark.Satterthwaite
Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.
#jira N/A
Change 4101390 by Marc.Audy
Placed Editor Utility Base once again ticks in the editor as intended
#jira UE-59743
Change 4101367 by Brandon.Schaefer
Avoid printing when in a signal handler.
Put that off until the end
#jira UE-36663
Change 4101362 by Mark.Satterthwaite
Duplicate 4091485
PR - Fixed potential memory leak.
#4751
#jira UE-59490
Change 4101349 by Brandon.Schaefer
VHACD Needs to be recompiled
#jira UE-59506
Change 4101335 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
Change 4101325 by Dan.Oconnor
SA fix, remove unneeded null check
#jira UE-46834
Change 4101278 by Brandon.Schaefer
Set our location to Linux/Mac GenerateProject.sh if we are not running from that location
#jira UE-59127, UE-57928
Change 4101219 by Brandon.Schaefer
If RunUAT gets a signal while running mono bring mono down as well
#jira UE-56041
Change 4101169 by Dan.Oconnor
Mirror 4094297 from Dev-Framework
Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
#jira UE-59642
Change 4101157 by Sam.Deiter
#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.
Change 4101132 by Jamie.Dale
Fixed some places that were running asset registry queries inside a loop and causing performance issues
#jira UE-59766
Change 4101125 by Jamie.Dale
Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values
#jira UE-59766
Change 4101102 by Dan.Oconnor
Mirror 4090824 from Dev-Framework
Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
#jira UE-59530
Change 4101017 by Brandon.Schaefer
Add a pop up message box for Linux to check if we want to or not submit crash report data
#jira UE-59617
Change 4100961 by Michael.Trepka
Updated Mac VHACD libs
#jira UE-59506
Change 4100703 by Dan.Oconnor
Mirror 4090523 from Dev-Framework
Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry
#jira UE-59526
Change 4100697 by Dan.Oconnor
Merge 4083850 from Dev-Framework
Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction
#jira UE-59036
Change 4100687 by Dan.Oconnor
Mirror 4086666 from Dev-Framework
Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session
#jira UE-58916
Change 4100658 by Jostin.Bilyeu
Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity
#jira UE-29618
Change 4100600 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4100576 by Dan.Oconnor
Mirror 4081417 from Dev-Framework
Enum literals are now more similar to byte literals, which makes them safer to pass by reference
#jira UE-58473
Change 4100559 by Dan.Oconnor
Mirror 4081153 from Dev-Framework
Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
#jira UE-59313
Change 4100540 by Dan.Oconnor
Mirror 4078822 from Dev-Framework
Continue trying to finish reinstancing when instances of the old class are being async loaded
#jira UE-58123
Change 4100527 by Dan.Oconnor
Mirror 4092349 from Dev-Framework
Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down
#jira UE-57763
Change 4100478 by Mike.Zyracki
weighted, non-weighted fix typo fix for issue found by AndrewP
#jira UE-58573
Change 4100445 by Mike.Zyracki
Fix for build warning, order of initialization.
#jira UE-58712
#trivial
Change 4100438 by Dan.Oconnor
Mirror 4083455 from Dev-Framework
Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up
#jira UE-46834
Change 4100374 by Mike.Zyracki
Fix for bad Camera Rotation Imported From Maya
Main issue was that we don't support RotationOrders that aren't XYZ.
We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
Currently recommendation is to always just zero everything out.
Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.
#jira UE-59116
Change 4100310 by Jamie.Dale
Fixed ExecutePythonScript failing when passing file arguments
#jira none
Change 4100305 by Mike.Zyracki
Fix for performance issues with motion trails.
Found that the main issue was the GetRefTM call. Refactored the code so that we only call that once per tick, instead of up to 4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys. Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.
Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.
#jira UE-58712
Change 4100290 by Ben.Marsh
Prevent schema being added as a build product twice.
#jira UE-59757
Change 4100259 by Jeff.Fisher
Duplicating in Release-4.20:
Change: 4087159
UE-58249 Late update has FP precision issues on PSVR
-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation. This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.
#review-4087096
#jira UE-58249
Files:
//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71
Change 4100170 by Brandon.Schaefer
Need dump_syms and BreakpadSymbolEncoder in installed builds
#jira UE-59500
Change 4100070 by Richard.Wallis
Speculative fix for crash in macOS AppKit NSPersistentUIManager. Disable NSWindow application resume feature per window - we are not using it anyway. OS system may still be called but hopefully this reduces the amount of work it is doing. There still seems to be some generic data getting written however.
There is also an undocumented *NSDisablePersistence* plist key. Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.
#jira UE-52294
Change 4099999 by James.McNatton
Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none
Change 4099996 by Ben.Marsh
Build: Merge changes to support AutoSDKs on Mac.
#jira UE-59574
Change 4099991 by Jamie.Dale
Updated wrapped enums to be more consistent with native Python enums
- Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
- Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
- Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
- Wrapped enums may now be iterated (like native Python enums).
- Wrapped enums now return a length based on their number of entries (like native Python enums).
- ScriptName meta-data can now be used with enum entries.
#jira none
Change 4099973 by Mitchell.Wilson
Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
#jira UE-59744
Change 4099913 by Jamie.Dale
Fixed some places that were calling LoadModuleChecked during shutdown
#jira UE-59482
Change 4099905 by Jamie.Dale
Fixed InitializeAvailableCultures missing some languages
#jira UE-59349
Change 4099879 by Jamie.Dale
Fixed a crash when a Blueprint with variable watches was destroyed
#jira UE-59117
Change 4099874 by Mitchell.Wilson
Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
#jira UE-59745 UE-59744
Change 4099860 by Benn.Gallagher
Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.
#jira UE-57337
Change 4099819 by Richard.Wallis
Fix for Timed Notifies scrub incorrectly on timeline on Mac. This is also an issue if running in Hi DPI on windows.
#jira UE-55678
Change 4099808 by Jamie.Dale
Fixed crash when content hot-reloading the build data for the currently loaded world
#jira UE-59163
Change 4099773 by Jamie.Dale
Fixed crash after attempting to load a package that is too new
#jira UE-58121
Change 4099759 by Jamie.Dale
Fixed material editor crash if reloading a texture used by the material
#jira UE-57762
Change 4099744 by Jamie.Dale
Fixed placeholder string table entries being considered identical as their entry may appear in the future
#jira UE-58987
Change 4099735 by Jurre.deBaare
Crash importing specific Alembic file
#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
#jira UE-59095
Change 4099612 by Michael.Trepka
Reverted change that delays crash reporting initialization for CEF on Mac
#jira UE-57378
Change 4099564 by Guillaume.Abadie
Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.
#jira none
Change 4099557 by Guillaume.Abadie
Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.
#jira none
Change 4099549 by Guillaume.Abadie
Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.
#jira none
Change 4099544 by Guillaume.Abadie
Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)
#jira UE-58051
Change 4099540 by Richard.Wallis
Fix for PIE HighDPI touch location.
#jira UE-59015
Change 4099516 by Richard.Wallis
speculative fix for FSlateMacMenu::UpdateMenu() crashes. I've not been able to reproduce this. All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q. I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map. This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.
Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.
My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.
#jira UE-57012
Change 4099511 by Max.Chen
Fix CIS
#jira UE-59739
Change 4099486 by Richard.Wallis
Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges(). I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd. This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().
#jira UE-55071
Change 4099392 by Andrew.Rodham
Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled
#jira UE-59138
Change 4099386 by Ben.Marsh
Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.
#jira UE-58692
Change 4099382 by Benn.Gallagher
Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
#jira UE-55780
Change 4099363 by Jason.Bestimt
Fix for HMD errors
#jira UEVR-1191
Change 4099307 by Richard.Wallis
Clone of CL 4077664: Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(). Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().
#jira UE-51698
Change 4099289 by Richard.Wallis
Clone of CL 4059587: Fix for Sequencer window opening behind Main Window. FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window. On Mac this makes the world outliner / main window move back in front of the sequencer window. This change swaps around those operations. Reopen the world outliner then add the sequencer window. Outliner info still changes it's visible data as before.
Tested with World Outliner docked and undocked.
#jira UE-55280
Change 4099279 by Richard.Wallis
Fix for crash in Mac editor copying unusual characters in the output log.
Current operation is unsafe. String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.
#jira UE-57774
Change 4099256 by Richard.Wallis
Fix for menu options not updating immediatly after creating or removing collision on Mac. We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up. However these can be missed on a mouse menu selection (mouse up doesn't cover this case). This change makes sure that the menu cache updates after a menu item execute operation has been called.
#jira UE-57049
Change 4098972 by Max.Chen
Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.
#jira UE-59726
Change 4098967 by Mike.Zyracki
Turn off turning off optimization for geometry sequencer tracks.
#trivial
#jira UESEQ-372
Change 4098942 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098906 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098881 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098667 by Marcus.Wassmer
Duplicate 4098665. Fix d3ddebug error on launch
#jira UE-59693
Change 4098542 by Mike.Zyracki
Geometry Cache Sequencer Support for 4.20
#jira UESEQ-372
Change 4098373 by Jason.Bestimt
Misc Vulkan/Lumin fixes from Dev-VR
CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015
#JIRA: UE-59722
Change 4098334 by Ethan.Geller
[Release 4.20] #jira UE-54812 fix up include path.
Change 4098286 by Matt.Kuhlenschmidt
Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.
#jira UE-55792
Change 4098284 by Brandon.Schaefer
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4098247 by Michael.Trepka
Fixed a crash in FMacApplication::ProcessMouseUpEvent()
#jira UE-57859
Change 4098219 by Matt.Hoffman
Linux CIS Fixes for TOptional
#trivial
#jira None
Change 4098209 by Matt.Kuhlenschmidt
Disable "restart detection" reimport test until we can reproduce the issue. Its not detecting a legit issue
#jira UE-59710
Change 4098132 by Ben.Marsh
Add "Nuget Package Manager" to the list of required components for compiling the engine.
#jira UE-59376
Change 4098110 by Ben.Marsh
Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.
#jira UE-59150
Change 4098088 by Matt.Kuhlenschmidt
Fix ensure starting tutorials in any editor project
#jira UE-59714
Change 4098011 by Ben.Marsh
Fix editor targets not being rebuilt when packaging from an installed engine build.
#jira UE-58652
Change 4098006 by Matt.Hoffman
Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.
#jira UE-58270
Change 4097995 by Ryan.Vance
#jira UEVR-1190
Disable rhi thread when running with vulkan on oculus android platforms.
Change 4097981 by Ben.Marsh
Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.
#jira
Change 4097963 by Ben.Marsh
Write the exception callstack to the UBT log when thrown reading a makefile.
#jira UE-59222
Change 4097940 by Ben.Marsh
Prevent source folder being added as a private include path if it does not exist.
#jira UE-59145
Change 4097927 by Ethan.Geller
[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran
Change 4097905 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
#jira UE-59709
Change 4097898 by Ryan.Vance
#jira UEVR-1191
Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.
Change 4097855 by Ben.Marsh
Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.
#jira UE-58593
Change 4097850 by Ben.Marsh
Fix UE4Game compile errors.
#jira UE-58593
Change 4097849 by Marcin.Undak
Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)
- Fixed by BrandonS.
#jira UE-59484
(merged from Dev-Console)
Change 4097844 by Ben.Marsh
TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.
#jira UE-58593
Change 4097840 by Ben.Marsh
Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).
#jira UE-58593
Change 4097831 by Ben.Marsh
TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.
#jira UE-58593
Change 4097825 by Marcin.Undak
UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)
#jira UE-58923
Change 4097783 by Ethan.Geller
[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran
Change 4097767 by Matt.Kuhlenschmidt
Fix crash processing mainframe keybindings during slow tasks
#jira UE-55765
Change 4097745 by Ben.Marsh
Fixes to UpdateCopyright for latest source.
#jira
Change 4097743 by mason.seay
Test map for Virtual Camera Focus testing
#jira UE-29618
Change 4097723 by Matt.Kuhlenschmidt
Fix crash when importing assets in a folder containing an invalid character for a package name
#jira UE-59166,UE-44071
Change 4097713 by Max.Chen
Sequencer: Fix missing buttons in the particle toggle track.
Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.
#jira UE-59542
Change 4097683 by Max.Chen
Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin
#jira UE-59568
Change 4097681 by Krzysztof.Narkowicz
Missing file for CL 4097655: "Added subsurface profile for eye shading model."
#jira UE-59708
Change 4097655 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira UE-59708
Change 4097634 by Max.Chen
Sequencer: Add checks for valid sequencer.
#jira UE-59287
Change 4097627 by Max.Chen
Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange
#jira UE-58343
Change 4097625 by Max.Chen
Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.
#jira UE-58688
Change 4097620 by Max.Chen
Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence
#jira UE-53186
#jira UE-59664
Change 4097616 by Max.Chen
Text Render Component: Fix crash on shutdown.
#jira UE-58116
Change 4097607 by Max.Chen
Sequencer: Use non-throttled spin box for numeric key editor
#jira UE-59219
Change 4097606 by Max.Chen
Sequencer: Check for a valid segment ID in EvaluateStatic
#jira UE-57596
Change 4097538 by Marc.Audy
PR #4755: Fix minor typo in comment (Contributed by Marenz)
#jira UE-59671
Change 4097518 by Marcin.Undak
UBT: fix for platforms overriding project generation (merge from Dev-Console)
#jira UE-59485
Change 4097417 by Benn.Gallagher
Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.
#jira UE-57097
Change 4097407 by Jason.Bestimt
Changing MLSDK missing callback to launch MagicLeap URL
#JIRA: UE-58631
Change 4097404 by Jason.Bestimt
Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)
#JIRA: UE-58864
Change 4097296 by Matt.Kuhlenschmidt
Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi
#jira UE-58983
Change 4097284 by Matt.Kuhlenschmidt
PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)
#jira UE-57562
Change 4097275 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097261 by Matt.Kuhlenschmidt
Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249
#jira 0
Change 4097249 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097165 by Nick.Shin
#jira UE-58441 HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS
Change 4097163 by Nick.Shin
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4096984 by Ben.Marsh
Merging changes to //UE4/Main after 4.20 stream was created.
#jira
Change 4096873 by Ben.Marsh
Fix compile errors for UE4Editor when Oodle SDK is not available.
#jira
Change 4095992 by Ben.Marsh
Update stream for analytics.
#robomerge none
#jira
Change 4111924 by Ben.Marsh
Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.
#jira UE-59891
Change 4106160 by Ben.Marsh
UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.
#jira UE-59691
Change 4101702 by Mark.Satterthwaite
Duplicate 4098660 & 4101604
Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
- Changing the GPU will ask you to restart.
- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.
Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.
#jira UERNDR-404
Change 4101598 by Andrew.Grant
Changed RemoteSession background to something more generic.
#jira UE-59062
Change 4101553 by Mark.Satterthwaite
Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647
- Fixes LLM double-counting in MetalRHI.
- MetalProfiler improvements.
#jira NA
Change 4099406 by Ben.Marsh
Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.
#jira UE-57801
[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
|
|
|
/** Conversion for enum entries */
|
|
|
|
|
FPyConversionResult NativizeEnumEntry(PyObject* PyObj, const UEnum* EnumType, int64& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeEnumEntry(const int64 Val, const UEnum* EnumType, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
PyObject* PythonizeEnumEntry(const int64 Val, const UEnum* EnumType, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
namespace Internal
|
|
|
|
|
{
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
/** Internal version of NativizeStructInstance/PythonizeStructInstance that work on the type-erased data */
|
|
|
|
|
FPyConversionResult NativizeStructInstance(PyObject* PyObj, UScriptStruct* StructType, void* StructInstance, const ESetErrorState SetErrorState);
|
|
|
|
|
FPyConversionResult PythonizeStructInstance(UScriptStruct* StructType, const void* StructInstance, PyObject*& OutPyObj, const ESetErrorState SetErrorState);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** Dummy catch-all for type conversions that aren't yet implemented */
|
|
|
|
|
template <typename T, typename Spec = void>
|
|
|
|
|
struct FTypeConv
|
|
|
|
|
{
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
static FPyConversionResult Nativize(PyObject* PyObj, T& OutVal, const ESetErrorState SetErrorState)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
ensureAlwaysMsgf(false, TEXT("Nativize not implemented for type"));
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
return FPyConversionResult::Failure();
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
static FPyConversionResult Pythonize(const T& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
ensureAlwaysMsgf(false, TEXT("Pythonize not implemented for type"));
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
return FPyConversionResult::Failure();
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** Override the catch-all for UObject types */
|
|
|
|
|
template <typename T>
|
|
|
|
|
struct FTypeConv<T, typename TEnableIf<TPointerIsConvertibleFromTo<typename TRemovePointer<T>::Type, UObject>::Value>::Type>
|
|
|
|
|
{
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
static FPyConversionResult Nativize(PyObject* PyObj, T& OutVal, const ESetErrorState SetErrorState)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
return PyConversion::NativizeObject(PyObj, (UObject*&)OutVal, TRemovePointer<T>::Type::StaticClass(), SetErrorState);
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
static FPyConversionResult Pythonize(const T& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
return PyConversion::PythonizeObject((UObject*)Val, OutPyObj, SetErrorState);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Generic version of Nativize used if there is no matching overload.
|
|
|
|
|
* Used to allow conversion from object and struct types that don't match a specific override (see FTypeConv).
|
|
|
|
|
*/
|
|
|
|
|
template <typename T>
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Nativize(PyObject* PyObj, T& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
return Internal::FTypeConv<T>::Nativize(PyObj, OutVal, SetErrorState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Generic version of Pythonize used if there is no matching overload.
|
|
|
|
|
* Used to allow conversion from object and struct types that don't match a specific override (see FTypeConv).
|
|
|
|
|
*/
|
|
|
|
|
template <typename T>
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult Pythonize(const T& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
return Internal::FTypeConv<T>::Pythonize(Val, OutPyObj, SetErrorState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Generic version of Pythonize that returns a PyObject rather than a bool */
|
|
|
|
|
template <typename T>
|
|
|
|
|
PyObject* Pythonize(const T& Val, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
|
|
|
|
{
|
|
|
|
|
PyObject* Obj = nullptr;
|
|
|
|
|
Pythonize(Val, Obj, SetErrorState);
|
|
|
|
|
return Obj;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Conversion for known struct types */
|
|
|
|
|
template <typename T>
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
FPyConversionResult NativizeStructInstance(PyObject* PyObj, T& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
return Internal::NativizeStructInstance(PyObj, TBaseStructure<T>::Get(), &OutVal, SetErrorState);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Conversion for known struct types */
|
|
|
|
|
template <typename T>
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
FPyConversionResult PythonizeStructInstance(const T& Val, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
return Internal::PythonizeStructInstance(TBaseStructure<T>::Get(), &Val, OutPyObj, SetErrorState);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Conversion for known struct types that returns a PyObject rather than a bool */
|
|
|
|
|
template <typename T>
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
PyObject* PythonizeStructInstance(const T& Val, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
{
|
|
|
|
|
PyObject* Obj = nullptr;
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3974233 by Rex.Hill
Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder
Change 3974234 by Rex.Hill
Reduced number of calls to SaveRawMesh and LoadRawMesh
Change 3974235 by Rex.Hill
Optimized SaveRawMesh by pre-allocating buffer
Change 3981370 by Jamie.Dale
Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python
The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).
Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.
Change 3983875 by Jamie.Dale
Exposed some asset registry functions that may be useful in a commandlet environment
Change 3983901 by Jamie.Dale
Hoisted some AssetData helpers onto the struct in Python
Change 3988367 by Jamie.Dale
Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values
Change 3988369 by Jamie.Dale
Exposed generic get_default_object function that takes a type and returns you the CDO
This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)
Change 3989890 by Jamie.Dale
Moved BlutilityActor to be Private in EditorScriptingUtils
This can be removed once it's no longer needed.
Change 3989900 by Jamie.Dale
Updated EditorScriptingUtilities to use the Public/Private folder structure for source code
Change 3990082 by Anousack.Kitisa
Added plugin for Shotgun integration in Unreal.
#jira UEENT-959
Change 3990783 by Anousack.Kitisa
Changed ShotgunMenuItem to a struct.
Change 3991139 by Jamie.Dale
Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets
Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.
Change 3993189 by Jamie.Dale
Fixed some mismatched return types
Change 3993191 by Jamie.Dale
Inital support for taking the GIL at key points where external C code calls into Python
Change 3993683 by Patrick.Boutot
[LTC]
Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
Update DropTimecode to use the new Timecode structure in TimeManagement.
Change 3994430 by Jamie.Dale
Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python
They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types
Change 3996083 by Jamie.Dale
Added a distinct type for generated enum types so that you can query their available enum entries
Change 3998253 by conan.reis
Remove redundant Perforce error output from the log
Change 4000307 by JeanMichel.Dignard
Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.
Change 4000605 by Jamie.Dale
Added support for constant "hoisting"
This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).
Change 4001617 by Jamie.Dale
Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs
This allows you to have a runtime class be extended via methods in an editor-only module
Change 4005287 by Jamie.Dale
Added a GIL lock when Slate Tick events call back into Python
Change 4005383 by Andrew.Rodham
Sequencer: Initial scripting exposure and support
First pass includes the following:
- Find/add/interate master tracks
- Find/add/interate bindings (both possessables and spawnables)
- Find/add/interate tracks on bindings
- Add/interate sections on tracks
- Get/Set section ranges
Change 4008609 by Jamie.Dale
Added some missing native Python types to the documentation
Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.
In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.
Change 4008654 by Jamie.Dale
Allow math operators to use the base type versions unless overridden
Change 4009740 by Patrick.Boutot
Add BP function to convert a Timecode into a string.
Change 4009763 by Patrick.Boutot
Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.
Change 4009768 by Andrew.Rodham
Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality
Change 4009830 by Jamie.Dale
Added support for UPARAM(ref) on arguments exposed to Python
For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).
For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.
Change 4010034 by Jamie.Dale
Added support for init_unreal.py start-up scripts
These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.
Change 4010422 by Jamie.Dale
Improved errror reporting during Python generation
It will now ensure if a debugger is attached to draw programmer attention to an error.
Change 4010498 by Patrick.Boutot
Remove unnecessary loop Timecode.ToFrameNumber()
Change 4011312 by Jamie.Dale
Duplicate deprecated names will no longer assert during Python glue generation
They will now log a warning and continue
Change 4012068 by JeanMichel.Dignard
Allow to render thumbnails for newly created packages.
- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.
Change 4013781 by Jamie.Dale
FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions
You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).
Change 4014337 by Jamie.Dale
Struct coercion now errors if you provide a sequence with too many elements
This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).
Change 4015290 by Andrew.Rodham
Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface
- Rename IBatchChannelInterface to IMovieSceneChannelInterface
- Removed MovieScene::Dilate()
- Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults
Change 4015664 by Jamie.Dale
Renamed ScriptMathOp meta-data to ScriptOperator
Change 4016230 by Jamie.Dale
Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)
Change 4017326 by Jamie.Dale
Added make and break support in Python
Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.
Change 4017551 by Jamie.Dale
Removed redundant outer parameter from find/load_asset/package
Change 4018594 by Jamie.Dale
Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)
These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).
UFUNCTION(..., meta=(ScriptMethod))
static void DoThing(UPARAM(ref) FThingType&, int32);
UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
static FThingType DoThing(FThingType, int32);
Change 4020956 by Anousack.Kitisa
Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.
#jira UEENT-1219
Change 4021986 by Anousack.Kitisa
Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.
Related to Jira UE-57896.
Change 4022993 by Jamie.Dale
Added support for extra operators on Python structs
You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.
Change 4023226 by Jamie.Dale
Added Make and Break function for FSoftClassPath
Change 4023348 by Jamie.Dale
Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType
Change 4027911 by Jamie.Dale
Cross-outer redirects are no longer applied in Python
#jira UETOOL-1382
Change 4029618 by JeanMichel.Dignard
Unreal Studio UX
- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
- Create new projects as enterprise projects if we're using an insalled enterprise build.
#jira UEENT-1231, UEENT-796
Change 4030217 by Jamie.Dale
Exposed ScopedSlowTask to Python
#jira UETOOL-1375
Change 4030784 by Matt.Hoffman
Sequencer curve editor now shows vertical axis labels.
#jira UE-58160
Change 4030858 by JeanLuc.Corenthin
Expose LOD creation thru Python:
- Create one struct to hold onto reduction settings per LOD
- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
- Create new method to apply reduction settings to an array of StaticMeshActors
#jira UEENT-1232
Change 4032239 by Jamie.Dale
Cleanup pass over wrapped structs
- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).
Change 4032247 by Jamie.Dale
Cleaned up some Python slow task code
Change 4032251 by Jamie.Dale
Added functions to get the Python type associated with an Unreal class, struct, or enum
Change 4032258 by Jamie.Dale
Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs
#jira UETOOL-1380
Change 4032320 by Jamie.Dale
Fixed Python object iterators skipping their first item
Change 4032321 by Jamie.Dale
Added Python iterators for actors and selected actors
#jira UETOOL-1380
Change 4033908 by Anousack.Kitisa
Added Shotgun settings for metadata tags.
#jira UEENT-1175
Change 4033909 by Anousack.Kitisa
Added wrapper function to sync Content Browser to assets for scripting.
#jira UEENT-1218
Change 4034951 by Matt.Hoffman
Media Tracks now highlight when added to a Sequence/UMG animation.
Change 4034966 by Jamie.Dale
Added GIL locks around post_init code that can be called from C++
Change 4035019 by Matt.Hoffman
UMG Render Transforms + Margins now support infinite sections.
Change 4035470 by Andrew.Rodham
Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
Removed IMovieSceneChannelInterface.
Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
Various pieces of documentation and cleanup.
Change 4037112 by Max.Chen
Sequencer: Added some missing RF_Transactional flags to newly created sections.
Change 4037121 by Max.Chen
Sequence Recorder: Timecode recording
Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.
One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".
#jira UESEQ-406
Change 4038462 by Jamie.Dale
Added support for using Python callables with delegates
All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).
Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.
Change 4039123 by James.McNatton
Remove dependency on SteamController in VirtualCamera #rb none
Change 4039162 by Jamie.Dale
Fixed linter warnings about unescaped backslashes in docstrings
Change 4039170 by Jamie.Dale
No longer expose deprecated functions or properties if they clash with another Python exposed item
Change 4039429 by Max.Chen
Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors
Change 4039442 by Max.Chen
Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.
Change 4039477 by Jamie.Dale
Added warnings for conflicting Python type and field names
Change 4039478 by Jamie.Dale
Fixed warnings for conflicting Python type and field names
Change 4039511 by Max.Chen
Sequencer: Remove all animation data for spawn track
Change 4040649 by James.McNatton
Multiple Virtual Camera bug fixes
- Removed QAGame mannequin from test map
- Fixed errors being generated when trying to load preset
- Presets now properly load and save axis settings
- Deleted presets should no longer linger in menus
- Presets now save and load favorite status
Change 4041356 by Max.Chen
Sequence Recorder: Takes system
#jira UESP-544
Change 4041589 by Jamie.Dale
Added C++ source information (plugin, module, and file) to the Python doc string
Change 4041746 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted
Change 4041757 by James.McNatton
Virtual Camera Bug Fixes
- The Input Source dropdown now accurately reflects user selection
- Input source changed to EditDefaultsOnly
- Focus should no longer be set when the settings menu is open
Change 4041823 by Jamie.Dale
Made ScriptOperator more relaxed about its signature validation for defaulted input parameters
Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.
Change 4042956 by James.McNatton
VirtualCamera bug fixes related to focus plane visualization
- Removed extra focus plane that was being displayed
- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus
Change 4043400 by James.McNatton
Multiple bug fixes related to saving various values
- Now saves matte opacity and updates on load
- Now saves filmback format name and updates on load
- Now saves desired distance units and updates on load
Change 4043481 by James.McNatton
Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none
Change 4044358 by Jamie.Dale
Fixed some cases where empty default values would be lost from UHT
Eg, empty strings, null objects
Change 4044362 by Jamie.Dale
Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function
Change 4044371 by Jamie.Dale
Fixed default value application for some struct types that use a custom default value format when exported by UHT
Change 4044417 by Max.Chen
Sequence Recorder: Better default group names with an underscore separator for letters
Change 4045164 by Jamie.Dale
Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)
Change 4045195 by Jamie.Dale
Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index
Change 4045589 by James.McNatton
Fixed packaging error for VirtualCamera plugin
- Plugin is now a runtime plugin rather than developer
- Fixed up associated warnings with saving and loading in editor
Change 4046208 by James.McNatton
Virtual Camera bug fixes
- Adjusted how mattes and filmback works together
- Should now always respond properly to changing filmback settings in UI
- Should now match the correct view size within the matte under all circumstances
Change 4046372 by Max.Chen
Sequencer: Fix subsequence binding ids.
#jira UE-55337
Change 4046694 by Max.Chen
Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.
Change 4046801 by Jamie.Dale
Improved default values and return types used in the unreal.py stub file
- Object and Struct types generate an __init__ function with the correct signature.
- Struct __init__ functions list the correct default values (including when using make/break functions).
- Methods now list the correct default values.
- Get/Set getters return a value of the correct type.
- Get/Set setters are no longer exported for read-only properties.
- Constants resolve to the correct type and value.
#jira UETOOL-1377
Change 4047023 by Jamie.Dale
Added missing hook-up for % and %= in Python
Change 4047100 by Jamie.Dale
Operators are now exposed to unreal.py and generate docs stating which overloads are available
Change 4047105 by Jamie.Dale
String is now "str" in doc strings to match the Python type
Change 4047714 by Max.Chen
Sequencer: Resolved merge conflicts with Dev-Sequencer
Change 4048150 by Jamie.Dale
Fixed single-culture PO import/export failing
#jira UE-47079
Change 4048653 by Andrew.Rodham
Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels
- The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
- This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.
#jira UE-57519
#jira UE-58487
Change 4048814 by Jamie.Dale
Fixed syntax error if an enum had an unknown value
Change 4048819 by Jamie.Dale
Fixed struct init functions having the wrong default values
Change 4048856 by JeanLuc.Corenthin
- Removed LOD & collision functions from UEditorLevelLibrary
- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
- Added method to set LODs on a static mesh
- Added method to remove LODs from a static mesh
- Added method to get number of LODs on a static mesh
- Added method to get number of simple collisions onto a static mesh
- Added method to get number of convex collisions onto a static mesh
- Added method to add convex collision onto a static mesh
- Added method to remove all collisions onto a static mesh
#jira UEENT-1232
#jira UEENT-1233
Change 4048961 by Jamie.Dale
Improved formatting of output parameters in doc strings
#jira UETOOL-1376
Change 4048988 by Jamie.Dale
Fixed context leakage between the console and files, and import "unreal" by default now in the console
#jira UETOOL-1379
Change 4049912 by Max.Chen
Sequence Recorder: Minor recording group name improvements.
- Initialize newly created actor group with existing actor group's base path.
- When duplicating, use the current group's name as the base.
- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.
Change 4049934 by Andrew.Rodham
Sequencer: Minor clean-up of sequencer interfaces and overloads
- Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
- Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
- Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one
Change 4050608 by conan.reis
Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.
Change 4050899 by Max.Chen
Sequencer: Allow actor components for synchronization
#jira UE-58468
Change 4050900 by Max.Chen
Sequence Recorder: Don't create a spawn section if the object is a possessable
#jira UE-58272
Change 4050904 by Max.Chen
Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.
#jira UE-58573
Change 4050905 by Max.Chen
Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.
Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.
#jira UE-58571
Change 4050972 by James.McNatton
Added functions to ISequenceRecorder
- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
- Added function to queue an actor to be recorded
- Added function to check the next take number for a given actor when using groups
Change 4050994 by James.McNatton
Bug fixes for Virtual Camera
- Preset menu now shows dates in the timestamp
- Resetting offsets now alerts the system to update UI
Change 4051431 by David.Hibbitts
Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
Deprecated LiveLink Driven component
#jira UESP-577
Change 4051475 by Patrick.Boutot
Rename EditorMeshLibrary
Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.
Change 4051558 by Patrick.Boutot
EngineCustomTimeStep returns true when we also want to perform the default engine code.
Change 4052106 by Andrew.Rodham
Sequencer: Adding an example that creates a sequence out of the current editor selection
Change 4052205 by Anousack.Kitisa
Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
Added function to retrieve the work area directory for Shotgun.
#jira UEENT-1220
Change 4052951 by James.McNatton
Virtual Camera Sequence Recorder updates to integrate new take system
- Takes no longer display unless sequence recorder has a group selected
- Adjusted fix to packaging error
- FPS value will no longer appear if sequence recorder isn't available
Change 4053130 by mason.seay
Updated Game Mode Override
Change 4053273 by James.McNatton
Virtual Camera cleanup adjustments
Change 4053627 by Max.Chen
Sequencer: Disable bind sequencer to PIE/simulate while recording.
Change 4053628 by Max.Chen
Sequence Recorder: Fix target animation not persisting
#jira UE-58508
Change 4053871 by Max.Chen
Image Plate: Fix icon path
Change 4054370 by Patrick.Boutot
Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h
Change 4054447 by Darren.Pegg
AJA low level device API
Blackmagic low level API
MediaIOCore changes to support AJA/Blackmagic changes
AJA Module converted to use MediaIOCore
Blackmagic Module changes for MediaIOCore
Blackmagic/AJA Binary files
Change 4054769 by Patrick.Boutot
Packaging error issue introduce with CL 4054370.
#jira UE-58749
Change 4055443 by Max.Chen
Sequencer: Fix crash in adding filler shot
#jira UE-58767
Change 4056577 by JeanMichel.Dignard
Fixed crash with automation tests.
We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.
#jira UE-58792
Change 4057238 by Jamie.Dale
Fixed crash when renaming Python generated classes or structs
Change 4058435 by Jamie.Dale
Fixed lingering exception state when converting a dict to a struct
Change 4058486 by mason.seay
Removed remote.host call from map
[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
|
|
|
Internal::PythonizeStructInstance(TBaseStructure<T>::Get(), &Val, Obj, SetErrorState);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
return Obj;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
/** Conversion for known enum types */
|
|
|
|
|
template <typename T>
|
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
MAJOR FEATURES & CHANGES
============================
Change 4112782 by Mitchell.Wilson
Resaving some cloth assets and fixing material compile warnings.
#jira UE-59946
Change 4112762 by Max.Chen
Sequence Recorder: Fix case where first recording is null but there are other valid recordings.
StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.
#jira UE-58688
Change 4112738 by Michael.Dupuis
#jira none:
Fixed Editor instance count, to only include placed instances.
Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
When deleting procedural foliage, we can now specify if we want to rebuild the tree.
Change 4112696 by Matt.Kuhlenschmidt
Prevent GC of material editor active preview expression
#jira UE-49777
Change 4112611 by Michael.Dupuis
Fixed Instance count when Alt+Dragging instance
#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost
Change 4112536 by Thomas.Sarkanen
Fixed static analysis warning caused by CL 4109096
#jira none
Change 4112139 by Phillip.Kavan
Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.
- Mirrored from //UE4/Dev-Framework (4111638).
#jira UE-53747
Change 4112138 by Phillip.Kavan
Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.
- Mirrored from //UE4/Dev-Framework (4111613).
#jira UE-59182
Change 4111630 by Matt.Collins
#jira UE-59934
Rolling back the previous integration of CL 4080446
Change 4111526 by Mike.Beach
Guarding against bad settings pointers internal to Oculus.
#jira UE-59778
Change 4111525 by Daniel.Wright
UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources. This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component). However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
#jira UE-59333
Change 4111518 by Mike.Beach
Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.
#jira UE-53643
Change 4111482 by Matt.Kuhlenschmidt
Fix blend sample context menu appering offset on high dpi monitors
#jira UE-59925
Change 4111362 by Ben.Marsh
Fix warnings building samples due to missing paths.
#jira
Change 4111299 by James.McNatton
Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404
Change 4111153 by Max.Chen
Sequencer: Fix dereferencing null pointer - CameraNode
#jira UE-59347
Change 4111143 by Matt.Collins
#jira UE-59934
CL 4107446 from Dev-Rendering.
Always force a commandbuffer submission during EndFrame.
Change 4111106 by Matt.Collins
#jira UERNDR-406
Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)
---
Some fixes for semaphore handling.
Moved the completion handler to EndFrame (out of FlushFreeList())
FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()
Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.
---
Change 4111099 by Ben.Zeigler
#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings
Change 4111039 by Ben.Zeigler
#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing
Change 4111013 by Steve.Robb
Fix for adding a new module to a project.
#jira UE-59770
Change 4110907 by Marc.Audy
Add required redirectorfor moving classes from TimeManagement to CoreUObject
#jira
Change 4110897 by Ben.Zeigler
#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead
Change 4110868 by Ben.Zeigler
#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first
Change 4110704 by Ben.Zeigler
#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind
Change 4110686 by Andrew.Grant
Resaved to fix empty engine version warning
#jira UE-59695
Change 4110466 by Ben.Zeigler
#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
Delete unused logo images
Change 4110418 by Ben.Zeigler
#jira UE-58025
Fix non editor builds
Change 4110258 by Max.Chen
Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.
- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
- Added a user toggle to match by name only. The default is true.
- When importing onto a selected node, disable the creation of cameras.
- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
- Remove any existing sections/keys when importing onto existing tracks.
#jira UE-59347
Change 4109923 by Michael.Dupuis
#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing
Change 4109916 by mason.seay
Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times
#jira UE-29618
Change 4109849 by Michael.Dupuis
#jira none: Removed PRAGMA_ENABLE_OPTIMISATION
Change 4109835 by Lukasz.Furman
added OnTaskFinished call when behavior tree's subtree is deactivated
#jira UE-48353
Change 4109829 by Ben.Zeigler
#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect
Change 4109820 by Michael.Dupuis
#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping
Change 4109813 by Michael.Dupuis
#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.
Change 4109780 by Alexis.Matte
Add the tps file for the levenshtein distance algorithm
#jira none
Change 4109567 by Ben.Marsh
Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.
#jira UE-55093
Change 4109542 by mason.seay
Updated timeline on BP
#jira UE-29618
Change 4109474 by Marc.Audy
Fix shadow variable warning
#jira UE-59895
Change 4109420 by Michael.Dupuis
#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit, do not assume it must always be valid, and simply skip it instead of crashing.
Change 4109397 by Ben.Marsh
Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.
#jira UE-59222
Change 4109395 by Lauren.Ridge
Removing legacy uses of GetEditorIcon from UMG
#jira UE-59038
Change 4109390 by Zachary.Wilson
Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
#jira UE-59409
Change 4109373 by Michael.Dupuis
#jira UE-58664
Restrict the Paint/Unpaint Density to 1.0
Restrict the Foliage Density type to 10000
Restrict the Grass Density type to 1000
Fixed a NAN that could be generated when adding instances
These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.
Change 4109348 by Lauren.Ridge
Removing engine content that used a material attribute layers node inside a material function
#jira UE-55739
Change 4109296 by Lauren.Ridge
Fix for crash on adding OnClicked event to button in Widget BP
#jira UE-59846
Change 4109193 by Matt.Kuhlenschmidt
Fixed crash when construction scripts are rerun during the details panel calling posteditchange
#jira UE-59649
Change 4109096 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4109078 by Ben.Marsh
Fix warnings building PlatformerGame due to incorrect include path.
#jira
Change 4109066 by Matt.Kuhlenschmidt
Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times
#jira UE-59866
Change 4109020 by Ben.Marsh
Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).
(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)
#jira UE-59641
Change 4108991 by Martin.Wilson
Fix crash when trying to extract transform from raw track with no track data.
#jira UE-58025
Change 4108987 by Martin.Wilson
Make sure rotations are normalized before creating blended transform
#jira UE-53971
Change 4108932 by Thomas.Sarkanen
Back out changelist 4108877
This was causing a 100% crash in an automated test
#jira none
Change 4108930 by Danny.Bouimad
Fixing testcase content #Jira UEQATC-405
Change 4108883 by Danny.Bouimad
Fixing Automated LodCurveLinkingTest1 #Jira UE-59763
Change 4108877 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4108874 by Thomas.Sarkanen
Fixed incorrect preview mesh being applied after retargeting
On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback
#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept
Change 4108834 by Thomas.Sarkanen
Pressing enter when selecting an object from a Blueprint node now works
#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes
Change 4108833 by Thomas.Sarkanen
Fixed crash caused by retargeting a skeleton when some of its animations are still open
Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.
#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]
Change 4108808 by Dmitriy.Dyomin
Fixed: ARPG crashes on Vulkan PC and Android
#jira UE-59781
Change 4108719 by Max.Chen
Sequencer: Fix CIS
#jira UESEQ-355
Change 4108675 by Max.Chen
Sequencer: Added audio support to FCP XML import/export
#jira UESEQ-355
Change 4108674 by Max.Chen
Sequencer: Upon export, log warnings when filename format is not '{shot}'
#jira UESEQ-358
Change 4108673 by Max.Chen
Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.
Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.
#jira UESEQ-358
Change 4108418 by Mark.Satterthwaite
Fix Shipping iOS builds.
#jira UE-59883
Change 4108118 by Alexis.Matte
Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
#jira UE-59854
#jira UE-57861
Change 4108059 by Ben.Marsh
Merge latest UGS fixes (up to 1.140) to 4.20 branch.
#jira
Change 4107719 by Mark.Satterthwaite
Duplicate 4107661:
Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.
#jira UE-59883
Change 4107443 by Lauren.Ridge
Fix for crash on connecting curve param node with no texture set
#jira UE-59880
Change 4107248 by Dan.Oconnor
Explicitly close floating Blueprint Debugger controls when the master tab is closed
#jira UE-59835
Change 4107137 by Jason.Bestimt
Removing ML Analytics Plugin to fix regressions
#JIRA: UE-59874, UE-59873
Change 4107125 by paulo.souza
#jira UE-59806 - ARPG - Goblin death not running all destroy logic
Change 4107113 by Phillip.Kavan
Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.
- Mirrored from //UE4/Dev-Framework (4081432).
#jira UE-59125
Change 4106736 by Jamie.Dale
Fixed content browser filter failing to match certain names if asset paths were omitted from the search
#jira UE-59849
Change 4106581 by Martin.Wilson
Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.
#jira UE-54851
Change 4106475 by Jason.Bestimt
Fix for Lumin Linux dependency in a better way
#JIRA: CIS
Change 4106201 by Michael.Trepka
Don't allow invalid cursor clip rects when locking the cursor on Mac
#jira UE-59842
Change 4106188 by Jason.Bestimt
Wrapping Lumin call with PLATFORM_LUMIN
#JIRA: CIS
Change 4106179 by Michael.Dupuis
#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
#4714
Change 4106176 by Martin.Wilson
Fix for crash introduced in 4105998
#jira UE-56395
Change 4106103 by Ben.Marsh
UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.
#jira
Change 4106081 by Marc.Audy
Fix shadow variable
#jira UE-59848
Change 4106078 by Jason.Bestimt
Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist
#JIRA: none
Change 4106015 by Martin.Wilson
Make sure that animations that have transform curves are up to date on loading.
#4320
#jira UE-53392
Change 4106005 by Anthony.Bills
[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll
#jira UE-59382
Change 4105998 by Martin.Wilson
Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones
#Jira UE-56395
Change 4105962 by Jeff.Fisher
Duplicating for 4.20:
Change: 4097595 and 4104555
UE-59359 Mr Mesh Crash at startup
-Vulkan does not work correctly unless we fill in all of the vertex buffers. MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.
#jira UE-59359
Change 4105952 by Ben.Marsh
Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.
#jira
Change 4105946 by Ben.Marsh
Disable debug info for IOS and TVOS in installed builds.
#jira UE-59816
Change 4105939 by Michael.Dupuis
#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu
Change 4105915 by Jamie.Dale
Implemented negative indexing for Python wrapped arrays
#jira UE-59841
Change 4105896 by Richard.Wallis
Another macOS TIS non-MainThread spam warning fix.
#jira UE-54623
Change 4105813 by Michael.Dupuis
#jira none: Prevent a possible crash if using world offset with a landscape without sub sections
Change 4105764 by Ben.Marsh
Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.
#jira
Change 4105747 by Ben.Marsh
Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)
#jira UE-59838
Change 4105642 by Jason.Bestimt
Disabling Lumin Platform Editor modules on linux
#JIRA: UE-59543
Change 4105553 by Matt.Kuhlenschmidt
PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)
#jira UE-57283
Change 4105486 by Michael.Dupuis
#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias
Change 4105474 by Michael.Dupuis
#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
#jira UE-58995:
Change 4105427 by Sorin.Gradinaru
UE-59698 Cannot load youtube URLs on Android
#jira UE-59698
#Android
#4.20
The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param
Change 4105308 by Mieszko.Zielinski
Merge of 4077826 over from Dev-Framework #UE4
#jira UE-59186
Change 4105050 by Ben.Marsh
Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.
#jira UE-59816
Change 4104584 by Mike.Beach
Mirroring CL 4103694 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104538 by Alexis.Matte
Fix crash when reloading a skeletal mesh actor with some vertex painting
#jira UE-57891
Change 4104534 by Mike.Beach
Mirroring CL 4090670/4094620 from Dev-VR
MR Calibration - Fixing an issue where the alignment models would disappear.
MR Calibration - Saving garbage mattes when exiting using escape.
#jira UEVR-24
Change 4104381 by Alexis.Matte
Fix a render thread crash when reimporting skeletal mesh
#jira UE-51935
Change 4104365 by Mike.Beach
Mirroring CL 4064903 from Dev-VR
Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.
#jira UE-58914
Change 4104341 by Alexis.Matte
Support non uniform scale scene transform for fbx skeletal mesh exporter
#jira UE-57733
Change 4104328 by Alexis.Matte
Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
#jira UE-58027
Change 4104318 by Phillip.Kavan
Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.
- Mirrored from //UE4/Dev-Framework (4082035).
#jira UE-59125
Change 4104305 by Mike.Beach
Mirroring CL 4098493 from Dev-VR
Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).
#jira UE-58953
Change 4104274 by Mike.Beach
Mirroring CL 4088048 from Dev-VR
Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.
#jira UE-59275
Change 4104259 by Mike.Beach
Mirroring CL 4084827/4085071 from Dev-VR
MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).
#jira UEVR-847
Change 4104246 by Mike.Beach
Mirroring CL 4084289 from Dev-VR
MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).
#jira UE-58187
Change 4104240 by Mike.Beach
Mirroring CL 4083160 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104233 by Mike.Beach
Mirroring CL 4081823 from Dev-VR
Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).
#jira UE-58190
Change 4104196 by Alexis.Matte
Unshelved from pending changelist '4075677':
Fix fbx scene re-import crash when the user re-import more then one time with some override material.
#jira UE-57937
Change 4104191 by Mike.Beach
Mirroring CL 4080389 from Dev-VR
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4104177 by Mike.Beach
Mirroring CL 4080119 from Dev-VR
CIS fix - circumventing vs2015 errors/warnings
#jira UE-59326, UE-59324
Change 4104170 by Mike.Beach
Mirroring CL 4078631 from Dev-VR
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4104167 by Jostin.Bilyeu
Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature
#jira UE-29618
Change 4104158 by Peter.Sumanaseni
#jira
Change 4104057 by Wes.Hunt
Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
#jira UE-59790
SOURCE CL 4101872 in //UE4/Main/...
Change 4104031 by Dan.Oconnor
Update assert to handle subobjects nested in components
#jira UE-56422
Change 4103946 by Dan.Oconnor
No need to load AnimationBlueprintEditor so early
#jira UE-59669
Change 4103859 by Brandon.Schaefer
Vulkan on Linux does not allow debugging with markers
This is required for debugging wtih Render Doc or anything that uses VK debug markers
#jira none
Change 4103677 by Sorin.Gradinaru
UE-59052 Can't use touch to interact with Web Browser on iPhoneX
#jira UE-59052
#iOS
#4.20
from CL4077699 on Dev-Mobile
Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)
Change 4103637 by Sorin.Gradinaru
UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android
#UE-39451
#Android
#4.30
from CL 4067204 on Dev-Mobile
Adding a proguard exception for the WebViewControl.FrameUpdateInfo
Change 4103619 by Marc.Audy
Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created
#jira UE-58875
Change 4103590 by mason.seay
Added Show Mouse Cursor
#jira UE-29618
Change 4103469 by paulo.souza
#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.
Change 4103459 by mason.seay
Updated maps so users can toggle UI-only input
#jira UE-29618
Change 4103423 by paulo.souza
#jira UE-59808 - Projectile abilities collision blocking on the camera trace
Change 4103280 by Jason.Bestimt
Fixing copyright in Lumin Plugins
#JIRA: 59192
Change 4103238 by JeanMichel.Dignard
Copied cl 4077328 from dev-enterprise
Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.
#jira UEENT-1423
Change 4103138 by Richard.Wallis
Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open. FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor. Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor
1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
3) Keep Editor and Game menu startup behaviour the same as before.
#jira UE-59704
Change 4102958 by mason.seay
Test map update
#jira UE-29618
Change 4102847 by Marc.Audy
Try and find the full path name for default value of class parameters
#jira UE-59746
Change 4102449 by Ben.Marsh
PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)
#jira UE-58275
Change 4102431 by Ben.Marsh
UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).
#jira UE-54979
Change 4102328 by Guillaume.Abadie
Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.
#jira none
Change 4102318 by Emil.Persson
Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
#jira UE-59217
Change 4102310 by Dmitriy.Dyomin
Fixed: UMG element clipping does not work on Android with Mali GPUs
#jira UE-56058
Change 4101920 by Ben.Marsh
Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.
#jira
Change 4101538 by Mark.Satterthwaite
Duplicate 4073368
Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.
#jira NA
Change 4101500 by Mark.Satterthwaite
Duplicate 4098091
On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.
#jira NA
Change 4101453 by Mark.Satterthwaite
Duplicate 4078874 & 4079396
Make LPV visualisation work on macOS to aid debugging.
#jira UE-58937
Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.
#jira UE-58937
Change 4101448 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4101417 by Sam.Deiter
#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.
Change 4101412 by Mark.Satterthwaite
Duplicate 4075868
Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.
#jira N/A
Change 4101393 by Mark.Satterthwaite
Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.
#jira N/A
Change 4101390 by Marc.Audy
Placed Editor Utility Base once again ticks in the editor as intended
#jira UE-59743
Change 4101367 by Brandon.Schaefer
Avoid printing when in a signal handler.
Put that off until the end
#jira UE-36663
Change 4101362 by Mark.Satterthwaite
Duplicate 4091485
PR - Fixed potential memory leak.
#4751
#jira UE-59490
Change 4101349 by Brandon.Schaefer
VHACD Needs to be recompiled
#jira UE-59506
Change 4101335 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
Change 4101325 by Dan.Oconnor
SA fix, remove unneeded null check
#jira UE-46834
Change 4101278 by Brandon.Schaefer
Set our location to Linux/Mac GenerateProject.sh if we are not running from that location
#jira UE-59127, UE-57928
Change 4101219 by Brandon.Schaefer
If RunUAT gets a signal while running mono bring mono down as well
#jira UE-56041
Change 4101169 by Dan.Oconnor
Mirror 4094297 from Dev-Framework
Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
#jira UE-59642
Change 4101157 by Sam.Deiter
#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.
Change 4101132 by Jamie.Dale
Fixed some places that were running asset registry queries inside a loop and causing performance issues
#jira UE-59766
Change 4101125 by Jamie.Dale
Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values
#jira UE-59766
Change 4101102 by Dan.Oconnor
Mirror 4090824 from Dev-Framework
Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
#jira UE-59530
Change 4101017 by Brandon.Schaefer
Add a pop up message box for Linux to check if we want to or not submit crash report data
#jira UE-59617
Change 4100961 by Michael.Trepka
Updated Mac VHACD libs
#jira UE-59506
Change 4100703 by Dan.Oconnor
Mirror 4090523 from Dev-Framework
Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry
#jira UE-59526
Change 4100697 by Dan.Oconnor
Merge 4083850 from Dev-Framework
Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction
#jira UE-59036
Change 4100687 by Dan.Oconnor
Mirror 4086666 from Dev-Framework
Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session
#jira UE-58916
Change 4100658 by Jostin.Bilyeu
Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity
#jira UE-29618
Change 4100600 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4100576 by Dan.Oconnor
Mirror 4081417 from Dev-Framework
Enum literals are now more similar to byte literals, which makes them safer to pass by reference
#jira UE-58473
Change 4100559 by Dan.Oconnor
Mirror 4081153 from Dev-Framework
Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
#jira UE-59313
Change 4100540 by Dan.Oconnor
Mirror 4078822 from Dev-Framework
Continue trying to finish reinstancing when instances of the old class are being async loaded
#jira UE-58123
Change 4100527 by Dan.Oconnor
Mirror 4092349 from Dev-Framework
Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down
#jira UE-57763
Change 4100478 by Mike.Zyracki
weighted, non-weighted fix typo fix for issue found by AndrewP
#jira UE-58573
Change 4100445 by Mike.Zyracki
Fix for build warning, order of initialization.
#jira UE-58712
#trivial
Change 4100438 by Dan.Oconnor
Mirror 4083455 from Dev-Framework
Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up
#jira UE-46834
Change 4100374 by Mike.Zyracki
Fix for bad Camera Rotation Imported From Maya
Main issue was that we don't support RotationOrders that aren't XYZ.
We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
Currently recommendation is to always just zero everything out.
Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.
#jira UE-59116
Change 4100310 by Jamie.Dale
Fixed ExecutePythonScript failing when passing file arguments
#jira none
Change 4100305 by Mike.Zyracki
Fix for performance issues with motion trails.
Found that the main issue was the GetRefTM call. Refactored the code so that we only call that once per tick, instead of up to 4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys. Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.
Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.
#jira UE-58712
Change 4100290 by Ben.Marsh
Prevent schema being added as a build product twice.
#jira UE-59757
Change 4100259 by Jeff.Fisher
Duplicating in Release-4.20:
Change: 4087159
UE-58249 Late update has FP precision issues on PSVR
-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation. This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.
#review-4087096
#jira UE-58249
Files:
//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71
Change 4100170 by Brandon.Schaefer
Need dump_syms and BreakpadSymbolEncoder in installed builds
#jira UE-59500
Change 4100070 by Richard.Wallis
Speculative fix for crash in macOS AppKit NSPersistentUIManager. Disable NSWindow application resume feature per window - we are not using it anyway. OS system may still be called but hopefully this reduces the amount of work it is doing. There still seems to be some generic data getting written however.
There is also an undocumented *NSDisablePersistence* plist key. Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.
#jira UE-52294
Change 4099999 by James.McNatton
Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none
Change 4099996 by Ben.Marsh
Build: Merge changes to support AutoSDKs on Mac.
#jira UE-59574
Change 4099991 by Jamie.Dale
Updated wrapped enums to be more consistent with native Python enums
- Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
- Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
- Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
- Wrapped enums may now be iterated (like native Python enums).
- Wrapped enums now return a length based on their number of entries (like native Python enums).
- ScriptName meta-data can now be used with enum entries.
#jira none
Change 4099973 by Mitchell.Wilson
Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
#jira UE-59744
Change 4099913 by Jamie.Dale
Fixed some places that were calling LoadModuleChecked during shutdown
#jira UE-59482
Change 4099905 by Jamie.Dale
Fixed InitializeAvailableCultures missing some languages
#jira UE-59349
Change 4099879 by Jamie.Dale
Fixed a crash when a Blueprint with variable watches was destroyed
#jira UE-59117
Change 4099874 by Mitchell.Wilson
Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
#jira UE-59745 UE-59744
Change 4099860 by Benn.Gallagher
Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.
#jira UE-57337
Change 4099819 by Richard.Wallis
Fix for Timed Notifies scrub incorrectly on timeline on Mac. This is also an issue if running in Hi DPI on windows.
#jira UE-55678
Change 4099808 by Jamie.Dale
Fixed crash when content hot-reloading the build data for the currently loaded world
#jira UE-59163
Change 4099773 by Jamie.Dale
Fixed crash after attempting to load a package that is too new
#jira UE-58121
Change 4099759 by Jamie.Dale
Fixed material editor crash if reloading a texture used by the material
#jira UE-57762
Change 4099744 by Jamie.Dale
Fixed placeholder string table entries being considered identical as their entry may appear in the future
#jira UE-58987
Change 4099735 by Jurre.deBaare
Crash importing specific Alembic file
#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
#jira UE-59095
Change 4099612 by Michael.Trepka
Reverted change that delays crash reporting initialization for CEF on Mac
#jira UE-57378
Change 4099564 by Guillaume.Abadie
Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.
#jira none
Change 4099557 by Guillaume.Abadie
Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.
#jira none
Change 4099549 by Guillaume.Abadie
Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.
#jira none
Change 4099544 by Guillaume.Abadie
Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)
#jira UE-58051
Change 4099540 by Richard.Wallis
Fix for PIE HighDPI touch location.
#jira UE-59015
Change 4099516 by Richard.Wallis
speculative fix for FSlateMacMenu::UpdateMenu() crashes. I've not been able to reproduce this. All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q. I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map. This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.
Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.
My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.
#jira UE-57012
Change 4099511 by Max.Chen
Fix CIS
#jira UE-59739
Change 4099486 by Richard.Wallis
Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges(). I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd. This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().
#jira UE-55071
Change 4099392 by Andrew.Rodham
Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled
#jira UE-59138
Change 4099386 by Ben.Marsh
Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.
#jira UE-58692
Change 4099382 by Benn.Gallagher
Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
#jira UE-55780
Change 4099363 by Jason.Bestimt
Fix for HMD errors
#jira UEVR-1191
Change 4099307 by Richard.Wallis
Clone of CL 4077664: Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(). Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().
#jira UE-51698
Change 4099289 by Richard.Wallis
Clone of CL 4059587: Fix for Sequencer window opening behind Main Window. FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window. On Mac this makes the world outliner / main window move back in front of the sequencer window. This change swaps around those operations. Reopen the world outliner then add the sequencer window. Outliner info still changes it's visible data as before.
Tested with World Outliner docked and undocked.
#jira UE-55280
Change 4099279 by Richard.Wallis
Fix for crash in Mac editor copying unusual characters in the output log.
Current operation is unsafe. String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.
#jira UE-57774
Change 4099256 by Richard.Wallis
Fix for menu options not updating immediatly after creating or removing collision on Mac. We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up. However these can be missed on a mouse menu selection (mouse up doesn't cover this case). This change makes sure that the menu cache updates after a menu item execute operation has been called.
#jira UE-57049
Change 4098972 by Max.Chen
Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.
#jira UE-59726
Change 4098967 by Mike.Zyracki
Turn off turning off optimization for geometry sequencer tracks.
#trivial
#jira UESEQ-372
Change 4098942 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098906 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098881 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098667 by Marcus.Wassmer
Duplicate 4098665. Fix d3ddebug error on launch
#jira UE-59693
Change 4098542 by Mike.Zyracki
Geometry Cache Sequencer Support for 4.20
#jira UESEQ-372
Change 4098373 by Jason.Bestimt
Misc Vulkan/Lumin fixes from Dev-VR
CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015
#JIRA: UE-59722
Change 4098334 by Ethan.Geller
[Release 4.20] #jira UE-54812 fix up include path.
Change 4098286 by Matt.Kuhlenschmidt
Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.
#jira UE-55792
Change 4098284 by Brandon.Schaefer
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4098247 by Michael.Trepka
Fixed a crash in FMacApplication::ProcessMouseUpEvent()
#jira UE-57859
Change 4098219 by Matt.Hoffman
Linux CIS Fixes for TOptional
#trivial
#jira None
Change 4098209 by Matt.Kuhlenschmidt
Disable "restart detection" reimport test until we can reproduce the issue. Its not detecting a legit issue
#jira UE-59710
Change 4098132 by Ben.Marsh
Add "Nuget Package Manager" to the list of required components for compiling the engine.
#jira UE-59376
Change 4098110 by Ben.Marsh
Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.
#jira UE-59150
Change 4098088 by Matt.Kuhlenschmidt
Fix ensure starting tutorials in any editor project
#jira UE-59714
Change 4098011 by Ben.Marsh
Fix editor targets not being rebuilt when packaging from an installed engine build.
#jira UE-58652
Change 4098006 by Matt.Hoffman
Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.
#jira UE-58270
Change 4097995 by Ryan.Vance
#jira UEVR-1190
Disable rhi thread when running with vulkan on oculus android platforms.
Change 4097981 by Ben.Marsh
Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.
#jira
Change 4097963 by Ben.Marsh
Write the exception callstack to the UBT log when thrown reading a makefile.
#jira UE-59222
Change 4097940 by Ben.Marsh
Prevent source folder being added as a private include path if it does not exist.
#jira UE-59145
Change 4097927 by Ethan.Geller
[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran
Change 4097905 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
#jira UE-59709
Change 4097898 by Ryan.Vance
#jira UEVR-1191
Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.
Change 4097855 by Ben.Marsh
Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.
#jira UE-58593
Change 4097850 by Ben.Marsh
Fix UE4Game compile errors.
#jira UE-58593
Change 4097849 by Marcin.Undak
Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)
- Fixed by BrandonS.
#jira UE-59484
(merged from Dev-Console)
Change 4097844 by Ben.Marsh
TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.
#jira UE-58593
Change 4097840 by Ben.Marsh
Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).
#jira UE-58593
Change 4097831 by Ben.Marsh
TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.
#jira UE-58593
Change 4097825 by Marcin.Undak
UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)
#jira UE-58923
Change 4097783 by Ethan.Geller
[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran
Change 4097767 by Matt.Kuhlenschmidt
Fix crash processing mainframe keybindings during slow tasks
#jira UE-55765
Change 4097745 by Ben.Marsh
Fixes to UpdateCopyright for latest source.
#jira
Change 4097743 by mason.seay
Test map for Virtual Camera Focus testing
#jira UE-29618
Change 4097723 by Matt.Kuhlenschmidt
Fix crash when importing assets in a folder containing an invalid character for a package name
#jira UE-59166,UE-44071
Change 4097713 by Max.Chen
Sequencer: Fix missing buttons in the particle toggle track.
Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.
#jira UE-59542
Change 4097683 by Max.Chen
Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin
#jira UE-59568
Change 4097681 by Krzysztof.Narkowicz
Missing file for CL 4097655: "Added subsurface profile for eye shading model."
#jira UE-59708
Change 4097655 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira UE-59708
Change 4097634 by Max.Chen
Sequencer: Add checks for valid sequencer.
#jira UE-59287
Change 4097627 by Max.Chen
Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange
#jira UE-58343
Change 4097625 by Max.Chen
Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.
#jira UE-58688
Change 4097620 by Max.Chen
Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence
#jira UE-53186
#jira UE-59664
Change 4097616 by Max.Chen
Text Render Component: Fix crash on shutdown.
#jira UE-58116
Change 4097607 by Max.Chen
Sequencer: Use non-throttled spin box for numeric key editor
#jira UE-59219
Change 4097606 by Max.Chen
Sequencer: Check for a valid segment ID in EvaluateStatic
#jira UE-57596
Change 4097538 by Marc.Audy
PR #4755: Fix minor typo in comment (Contributed by Marenz)
#jira UE-59671
Change 4097518 by Marcin.Undak
UBT: fix for platforms overriding project generation (merge from Dev-Console)
#jira UE-59485
Change 4097417 by Benn.Gallagher
Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.
#jira UE-57097
Change 4097407 by Jason.Bestimt
Changing MLSDK missing callback to launch MagicLeap URL
#JIRA: UE-58631
Change 4097404 by Jason.Bestimt
Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)
#JIRA: UE-58864
Change 4097296 by Matt.Kuhlenschmidt
Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi
#jira UE-58983
Change 4097284 by Matt.Kuhlenschmidt
PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)
#jira UE-57562
Change 4097275 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097261 by Matt.Kuhlenschmidt
Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249
#jira 0
Change 4097249 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097165 by Nick.Shin
#jira UE-58441 HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS
Change 4097163 by Nick.Shin
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4096984 by Ben.Marsh
Merging changes to //UE4/Main after 4.20 stream was created.
#jira
Change 4096873 by Ben.Marsh
Fix compile errors for UE4Editor when Oodle SDK is not available.
#jira
Change 4095992 by Ben.Marsh
Update stream for analytics.
#robomerge none
#jira
Change 4111924 by Ben.Marsh
Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.
#jira UE-59891
Change 4106160 by Ben.Marsh
UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.
#jira UE-59691
Change 4101702 by Mark.Satterthwaite
Duplicate 4098660 & 4101604
Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
- Changing the GPU will ask you to restart.
- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.
Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.
#jira UERNDR-404
Change 4101598 by Andrew.Grant
Changed RemoteSession background to something more generic.
#jira UE-59062
Change 4101553 by Mark.Satterthwaite
Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647
- Fixes LLM double-counting in MetalRHI.
- MetalProfiler improvements.
#jira NA
Change 4099406 by Ben.Marsh
Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.
#jira UE-57801
[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
|
|
|
FPyConversionResult NativizeEnumEntry(PyObject* PyObj, const UEnum* EnumType, T& OutVal, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
{
|
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
MAJOR FEATURES & CHANGES
============================
Change 4112782 by Mitchell.Wilson
Resaving some cloth assets and fixing material compile warnings.
#jira UE-59946
Change 4112762 by Max.Chen
Sequence Recorder: Fix case where first recording is null but there are other valid recordings.
StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.
#jira UE-58688
Change 4112738 by Michael.Dupuis
#jira none:
Fixed Editor instance count, to only include placed instances.
Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
When deleting procedural foliage, we can now specify if we want to rebuild the tree.
Change 4112696 by Matt.Kuhlenschmidt
Prevent GC of material editor active preview expression
#jira UE-49777
Change 4112611 by Michael.Dupuis
Fixed Instance count when Alt+Dragging instance
#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost
Change 4112536 by Thomas.Sarkanen
Fixed static analysis warning caused by CL 4109096
#jira none
Change 4112139 by Phillip.Kavan
Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.
- Mirrored from //UE4/Dev-Framework (4111638).
#jira UE-53747
Change 4112138 by Phillip.Kavan
Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.
- Mirrored from //UE4/Dev-Framework (4111613).
#jira UE-59182
Change 4111630 by Matt.Collins
#jira UE-59934
Rolling back the previous integration of CL 4080446
Change 4111526 by Mike.Beach
Guarding against bad settings pointers internal to Oculus.
#jira UE-59778
Change 4111525 by Daniel.Wright
UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources. This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component). However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
#jira UE-59333
Change 4111518 by Mike.Beach
Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.
#jira UE-53643
Change 4111482 by Matt.Kuhlenschmidt
Fix blend sample context menu appering offset on high dpi monitors
#jira UE-59925
Change 4111362 by Ben.Marsh
Fix warnings building samples due to missing paths.
#jira
Change 4111299 by James.McNatton
Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404
Change 4111153 by Max.Chen
Sequencer: Fix dereferencing null pointer - CameraNode
#jira UE-59347
Change 4111143 by Matt.Collins
#jira UE-59934
CL 4107446 from Dev-Rendering.
Always force a commandbuffer submission during EndFrame.
Change 4111106 by Matt.Collins
#jira UERNDR-406
Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)
---
Some fixes for semaphore handling.
Moved the completion handler to EndFrame (out of FlushFreeList())
FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()
Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.
---
Change 4111099 by Ben.Zeigler
#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings
Change 4111039 by Ben.Zeigler
#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing
Change 4111013 by Steve.Robb
Fix for adding a new module to a project.
#jira UE-59770
Change 4110907 by Marc.Audy
Add required redirectorfor moving classes from TimeManagement to CoreUObject
#jira
Change 4110897 by Ben.Zeigler
#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead
Change 4110868 by Ben.Zeigler
#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first
Change 4110704 by Ben.Zeigler
#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind
Change 4110686 by Andrew.Grant
Resaved to fix empty engine version warning
#jira UE-59695
Change 4110466 by Ben.Zeigler
#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
Delete unused logo images
Change 4110418 by Ben.Zeigler
#jira UE-58025
Fix non editor builds
Change 4110258 by Max.Chen
Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.
- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
- Added a user toggle to match by name only. The default is true.
- When importing onto a selected node, disable the creation of cameras.
- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
- Remove any existing sections/keys when importing onto existing tracks.
#jira UE-59347
Change 4109923 by Michael.Dupuis
#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing
Change 4109916 by mason.seay
Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times
#jira UE-29618
Change 4109849 by Michael.Dupuis
#jira none: Removed PRAGMA_ENABLE_OPTIMISATION
Change 4109835 by Lukasz.Furman
added OnTaskFinished call when behavior tree's subtree is deactivated
#jira UE-48353
Change 4109829 by Ben.Zeigler
#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect
Change 4109820 by Michael.Dupuis
#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping
Change 4109813 by Michael.Dupuis
#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.
Change 4109780 by Alexis.Matte
Add the tps file for the levenshtein distance algorithm
#jira none
Change 4109567 by Ben.Marsh
Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.
#jira UE-55093
Change 4109542 by mason.seay
Updated timeline on BP
#jira UE-29618
Change 4109474 by Marc.Audy
Fix shadow variable warning
#jira UE-59895
Change 4109420 by Michael.Dupuis
#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit, do not assume it must always be valid, and simply skip it instead of crashing.
Change 4109397 by Ben.Marsh
Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.
#jira UE-59222
Change 4109395 by Lauren.Ridge
Removing legacy uses of GetEditorIcon from UMG
#jira UE-59038
Change 4109390 by Zachary.Wilson
Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
#jira UE-59409
Change 4109373 by Michael.Dupuis
#jira UE-58664
Restrict the Paint/Unpaint Density to 1.0
Restrict the Foliage Density type to 10000
Restrict the Grass Density type to 1000
Fixed a NAN that could be generated when adding instances
These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.
Change 4109348 by Lauren.Ridge
Removing engine content that used a material attribute layers node inside a material function
#jira UE-55739
Change 4109296 by Lauren.Ridge
Fix for crash on adding OnClicked event to button in Widget BP
#jira UE-59846
Change 4109193 by Matt.Kuhlenschmidt
Fixed crash when construction scripts are rerun during the details panel calling posteditchange
#jira UE-59649
Change 4109096 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4109078 by Ben.Marsh
Fix warnings building PlatformerGame due to incorrect include path.
#jira
Change 4109066 by Matt.Kuhlenschmidt
Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times
#jira UE-59866
Change 4109020 by Ben.Marsh
Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).
(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)
#jira UE-59641
Change 4108991 by Martin.Wilson
Fix crash when trying to extract transform from raw track with no track data.
#jira UE-58025
Change 4108987 by Martin.Wilson
Make sure rotations are normalized before creating blended transform
#jira UE-53971
Change 4108932 by Thomas.Sarkanen
Back out changelist 4108877
This was causing a 100% crash in an automated test
#jira none
Change 4108930 by Danny.Bouimad
Fixing testcase content #Jira UEQATC-405
Change 4108883 by Danny.Bouimad
Fixing Automated LodCurveLinkingTest1 #Jira UE-59763
Change 4108877 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4108874 by Thomas.Sarkanen
Fixed incorrect preview mesh being applied after retargeting
On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback
#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept
Change 4108834 by Thomas.Sarkanen
Pressing enter when selecting an object from a Blueprint node now works
#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes
Change 4108833 by Thomas.Sarkanen
Fixed crash caused by retargeting a skeleton when some of its animations are still open
Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.
#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]
Change 4108808 by Dmitriy.Dyomin
Fixed: ARPG crashes on Vulkan PC and Android
#jira UE-59781
Change 4108719 by Max.Chen
Sequencer: Fix CIS
#jira UESEQ-355
Change 4108675 by Max.Chen
Sequencer: Added audio support to FCP XML import/export
#jira UESEQ-355
Change 4108674 by Max.Chen
Sequencer: Upon export, log warnings when filename format is not '{shot}'
#jira UESEQ-358
Change 4108673 by Max.Chen
Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.
Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.
#jira UESEQ-358
Change 4108418 by Mark.Satterthwaite
Fix Shipping iOS builds.
#jira UE-59883
Change 4108118 by Alexis.Matte
Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
#jira UE-59854
#jira UE-57861
Change 4108059 by Ben.Marsh
Merge latest UGS fixes (up to 1.140) to 4.20 branch.
#jira
Change 4107719 by Mark.Satterthwaite
Duplicate 4107661:
Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.
#jira UE-59883
Change 4107443 by Lauren.Ridge
Fix for crash on connecting curve param node with no texture set
#jira UE-59880
Change 4107248 by Dan.Oconnor
Explicitly close floating Blueprint Debugger controls when the master tab is closed
#jira UE-59835
Change 4107137 by Jason.Bestimt
Removing ML Analytics Plugin to fix regressions
#JIRA: UE-59874, UE-59873
Change 4107125 by paulo.souza
#jira UE-59806 - ARPG - Goblin death not running all destroy logic
Change 4107113 by Phillip.Kavan
Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.
- Mirrored from //UE4/Dev-Framework (4081432).
#jira UE-59125
Change 4106736 by Jamie.Dale
Fixed content browser filter failing to match certain names if asset paths were omitted from the search
#jira UE-59849
Change 4106581 by Martin.Wilson
Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.
#jira UE-54851
Change 4106475 by Jason.Bestimt
Fix for Lumin Linux dependency in a better way
#JIRA: CIS
Change 4106201 by Michael.Trepka
Don't allow invalid cursor clip rects when locking the cursor on Mac
#jira UE-59842
Change 4106188 by Jason.Bestimt
Wrapping Lumin call with PLATFORM_LUMIN
#JIRA: CIS
Change 4106179 by Michael.Dupuis
#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
#4714
Change 4106176 by Martin.Wilson
Fix for crash introduced in 4105998
#jira UE-56395
Change 4106103 by Ben.Marsh
UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.
#jira
Change 4106081 by Marc.Audy
Fix shadow variable
#jira UE-59848
Change 4106078 by Jason.Bestimt
Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist
#JIRA: none
Change 4106015 by Martin.Wilson
Make sure that animations that have transform curves are up to date on loading.
#4320
#jira UE-53392
Change 4106005 by Anthony.Bills
[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll
#jira UE-59382
Change 4105998 by Martin.Wilson
Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones
#Jira UE-56395
Change 4105962 by Jeff.Fisher
Duplicating for 4.20:
Change: 4097595 and 4104555
UE-59359 Mr Mesh Crash at startup
-Vulkan does not work correctly unless we fill in all of the vertex buffers. MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.
#jira UE-59359
Change 4105952 by Ben.Marsh
Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.
#jira
Change 4105946 by Ben.Marsh
Disable debug info for IOS and TVOS in installed builds.
#jira UE-59816
Change 4105939 by Michael.Dupuis
#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu
Change 4105915 by Jamie.Dale
Implemented negative indexing for Python wrapped arrays
#jira UE-59841
Change 4105896 by Richard.Wallis
Another macOS TIS non-MainThread spam warning fix.
#jira UE-54623
Change 4105813 by Michael.Dupuis
#jira none: Prevent a possible crash if using world offset with a landscape without sub sections
Change 4105764 by Ben.Marsh
Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.
#jira
Change 4105747 by Ben.Marsh
Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)
#jira UE-59838
Change 4105642 by Jason.Bestimt
Disabling Lumin Platform Editor modules on linux
#JIRA: UE-59543
Change 4105553 by Matt.Kuhlenschmidt
PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)
#jira UE-57283
Change 4105486 by Michael.Dupuis
#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias
Change 4105474 by Michael.Dupuis
#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
#jira UE-58995:
Change 4105427 by Sorin.Gradinaru
UE-59698 Cannot load youtube URLs on Android
#jira UE-59698
#Android
#4.20
The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param
Change 4105308 by Mieszko.Zielinski
Merge of 4077826 over from Dev-Framework #UE4
#jira UE-59186
Change 4105050 by Ben.Marsh
Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.
#jira UE-59816
Change 4104584 by Mike.Beach
Mirroring CL 4103694 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104538 by Alexis.Matte
Fix crash when reloading a skeletal mesh actor with some vertex painting
#jira UE-57891
Change 4104534 by Mike.Beach
Mirroring CL 4090670/4094620 from Dev-VR
MR Calibration - Fixing an issue where the alignment models would disappear.
MR Calibration - Saving garbage mattes when exiting using escape.
#jira UEVR-24
Change 4104381 by Alexis.Matte
Fix a render thread crash when reimporting skeletal mesh
#jira UE-51935
Change 4104365 by Mike.Beach
Mirroring CL 4064903 from Dev-VR
Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.
#jira UE-58914
Change 4104341 by Alexis.Matte
Support non uniform scale scene transform for fbx skeletal mesh exporter
#jira UE-57733
Change 4104328 by Alexis.Matte
Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
#jira UE-58027
Change 4104318 by Phillip.Kavan
Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.
- Mirrored from //UE4/Dev-Framework (4082035).
#jira UE-59125
Change 4104305 by Mike.Beach
Mirroring CL 4098493 from Dev-VR
Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).
#jira UE-58953
Change 4104274 by Mike.Beach
Mirroring CL 4088048 from Dev-VR
Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.
#jira UE-59275
Change 4104259 by Mike.Beach
Mirroring CL 4084827/4085071 from Dev-VR
MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).
#jira UEVR-847
Change 4104246 by Mike.Beach
Mirroring CL 4084289 from Dev-VR
MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).
#jira UE-58187
Change 4104240 by Mike.Beach
Mirroring CL 4083160 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104233 by Mike.Beach
Mirroring CL 4081823 from Dev-VR
Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).
#jira UE-58190
Change 4104196 by Alexis.Matte
Unshelved from pending changelist '4075677':
Fix fbx scene re-import crash when the user re-import more then one time with some override material.
#jira UE-57937
Change 4104191 by Mike.Beach
Mirroring CL 4080389 from Dev-VR
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4104177 by Mike.Beach
Mirroring CL 4080119 from Dev-VR
CIS fix - circumventing vs2015 errors/warnings
#jira UE-59326, UE-59324
Change 4104170 by Mike.Beach
Mirroring CL 4078631 from Dev-VR
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4104167 by Jostin.Bilyeu
Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature
#jira UE-29618
Change 4104158 by Peter.Sumanaseni
#jira
Change 4104057 by Wes.Hunt
Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
#jira UE-59790
SOURCE CL 4101872 in //UE4/Main/...
Change 4104031 by Dan.Oconnor
Update assert to handle subobjects nested in components
#jira UE-56422
Change 4103946 by Dan.Oconnor
No need to load AnimationBlueprintEditor so early
#jira UE-59669
Change 4103859 by Brandon.Schaefer
Vulkan on Linux does not allow debugging with markers
This is required for debugging wtih Render Doc or anything that uses VK debug markers
#jira none
Change 4103677 by Sorin.Gradinaru
UE-59052 Can't use touch to interact with Web Browser on iPhoneX
#jira UE-59052
#iOS
#4.20
from CL4077699 on Dev-Mobile
Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)
Change 4103637 by Sorin.Gradinaru
UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android
#UE-39451
#Android
#4.30
from CL 4067204 on Dev-Mobile
Adding a proguard exception for the WebViewControl.FrameUpdateInfo
Change 4103619 by Marc.Audy
Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created
#jira UE-58875
Change 4103590 by mason.seay
Added Show Mouse Cursor
#jira UE-29618
Change 4103469 by paulo.souza
#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.
Change 4103459 by mason.seay
Updated maps so users can toggle UI-only input
#jira UE-29618
Change 4103423 by paulo.souza
#jira UE-59808 - Projectile abilities collision blocking on the camera trace
Change 4103280 by Jason.Bestimt
Fixing copyright in Lumin Plugins
#JIRA: 59192
Change 4103238 by JeanMichel.Dignard
Copied cl 4077328 from dev-enterprise
Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.
#jira UEENT-1423
Change 4103138 by Richard.Wallis
Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open. FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor. Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor
1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
3) Keep Editor and Game menu startup behaviour the same as before.
#jira UE-59704
Change 4102958 by mason.seay
Test map update
#jira UE-29618
Change 4102847 by Marc.Audy
Try and find the full path name for default value of class parameters
#jira UE-59746
Change 4102449 by Ben.Marsh
PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)
#jira UE-58275
Change 4102431 by Ben.Marsh
UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).
#jira UE-54979
Change 4102328 by Guillaume.Abadie
Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.
#jira none
Change 4102318 by Emil.Persson
Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
#jira UE-59217
Change 4102310 by Dmitriy.Dyomin
Fixed: UMG element clipping does not work on Android with Mali GPUs
#jira UE-56058
Change 4101920 by Ben.Marsh
Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.
#jira
Change 4101538 by Mark.Satterthwaite
Duplicate 4073368
Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.
#jira NA
Change 4101500 by Mark.Satterthwaite
Duplicate 4098091
On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.
#jira NA
Change 4101453 by Mark.Satterthwaite
Duplicate 4078874 & 4079396
Make LPV visualisation work on macOS to aid debugging.
#jira UE-58937
Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.
#jira UE-58937
Change 4101448 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4101417 by Sam.Deiter
#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.
Change 4101412 by Mark.Satterthwaite
Duplicate 4075868
Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.
#jira N/A
Change 4101393 by Mark.Satterthwaite
Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.
#jira N/A
Change 4101390 by Marc.Audy
Placed Editor Utility Base once again ticks in the editor as intended
#jira UE-59743
Change 4101367 by Brandon.Schaefer
Avoid printing when in a signal handler.
Put that off until the end
#jira UE-36663
Change 4101362 by Mark.Satterthwaite
Duplicate 4091485
PR - Fixed potential memory leak.
#4751
#jira UE-59490
Change 4101349 by Brandon.Schaefer
VHACD Needs to be recompiled
#jira UE-59506
Change 4101335 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
Change 4101325 by Dan.Oconnor
SA fix, remove unneeded null check
#jira UE-46834
Change 4101278 by Brandon.Schaefer
Set our location to Linux/Mac GenerateProject.sh if we are not running from that location
#jira UE-59127, UE-57928
Change 4101219 by Brandon.Schaefer
If RunUAT gets a signal while running mono bring mono down as well
#jira UE-56041
Change 4101169 by Dan.Oconnor
Mirror 4094297 from Dev-Framework
Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
#jira UE-59642
Change 4101157 by Sam.Deiter
#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.
Change 4101132 by Jamie.Dale
Fixed some places that were running asset registry queries inside a loop and causing performance issues
#jira UE-59766
Change 4101125 by Jamie.Dale
Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values
#jira UE-59766
Change 4101102 by Dan.Oconnor
Mirror 4090824 from Dev-Framework
Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
#jira UE-59530
Change 4101017 by Brandon.Schaefer
Add a pop up message box for Linux to check if we want to or not submit crash report data
#jira UE-59617
Change 4100961 by Michael.Trepka
Updated Mac VHACD libs
#jira UE-59506
Change 4100703 by Dan.Oconnor
Mirror 4090523 from Dev-Framework
Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry
#jira UE-59526
Change 4100697 by Dan.Oconnor
Merge 4083850 from Dev-Framework
Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction
#jira UE-59036
Change 4100687 by Dan.Oconnor
Mirror 4086666 from Dev-Framework
Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session
#jira UE-58916
Change 4100658 by Jostin.Bilyeu
Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity
#jira UE-29618
Change 4100600 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4100576 by Dan.Oconnor
Mirror 4081417 from Dev-Framework
Enum literals are now more similar to byte literals, which makes them safer to pass by reference
#jira UE-58473
Change 4100559 by Dan.Oconnor
Mirror 4081153 from Dev-Framework
Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
#jira UE-59313
Change 4100540 by Dan.Oconnor
Mirror 4078822 from Dev-Framework
Continue trying to finish reinstancing when instances of the old class are being async loaded
#jira UE-58123
Change 4100527 by Dan.Oconnor
Mirror 4092349 from Dev-Framework
Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down
#jira UE-57763
Change 4100478 by Mike.Zyracki
weighted, non-weighted fix typo fix for issue found by AndrewP
#jira UE-58573
Change 4100445 by Mike.Zyracki
Fix for build warning, order of initialization.
#jira UE-58712
#trivial
Change 4100438 by Dan.Oconnor
Mirror 4083455 from Dev-Framework
Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up
#jira UE-46834
Change 4100374 by Mike.Zyracki
Fix for bad Camera Rotation Imported From Maya
Main issue was that we don't support RotationOrders that aren't XYZ.
We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
Currently recommendation is to always just zero everything out.
Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.
#jira UE-59116
Change 4100310 by Jamie.Dale
Fixed ExecutePythonScript failing when passing file arguments
#jira none
Change 4100305 by Mike.Zyracki
Fix for performance issues with motion trails.
Found that the main issue was the GetRefTM call. Refactored the code so that we only call that once per tick, instead of up to 4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys. Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.
Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.
#jira UE-58712
Change 4100290 by Ben.Marsh
Prevent schema being added as a build product twice.
#jira UE-59757
Change 4100259 by Jeff.Fisher
Duplicating in Release-4.20:
Change: 4087159
UE-58249 Late update has FP precision issues on PSVR
-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation. This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.
#review-4087096
#jira UE-58249
Files:
//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71
Change 4100170 by Brandon.Schaefer
Need dump_syms and BreakpadSymbolEncoder in installed builds
#jira UE-59500
Change 4100070 by Richard.Wallis
Speculative fix for crash in macOS AppKit NSPersistentUIManager. Disable NSWindow application resume feature per window - we are not using it anyway. OS system may still be called but hopefully this reduces the amount of work it is doing. There still seems to be some generic data getting written however.
There is also an undocumented *NSDisablePersistence* plist key. Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.
#jira UE-52294
Change 4099999 by James.McNatton
Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none
Change 4099996 by Ben.Marsh
Build: Merge changes to support AutoSDKs on Mac.
#jira UE-59574
Change 4099991 by Jamie.Dale
Updated wrapped enums to be more consistent with native Python enums
- Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
- Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
- Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
- Wrapped enums may now be iterated (like native Python enums).
- Wrapped enums now return a length based on their number of entries (like native Python enums).
- ScriptName meta-data can now be used with enum entries.
#jira none
Change 4099973 by Mitchell.Wilson
Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
#jira UE-59744
Change 4099913 by Jamie.Dale
Fixed some places that were calling LoadModuleChecked during shutdown
#jira UE-59482
Change 4099905 by Jamie.Dale
Fixed InitializeAvailableCultures missing some languages
#jira UE-59349
Change 4099879 by Jamie.Dale
Fixed a crash when a Blueprint with variable watches was destroyed
#jira UE-59117
Change 4099874 by Mitchell.Wilson
Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
#jira UE-59745 UE-59744
Change 4099860 by Benn.Gallagher
Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.
#jira UE-57337
Change 4099819 by Richard.Wallis
Fix for Timed Notifies scrub incorrectly on timeline on Mac. This is also an issue if running in Hi DPI on windows.
#jira UE-55678
Change 4099808 by Jamie.Dale
Fixed crash when content hot-reloading the build data for the currently loaded world
#jira UE-59163
Change 4099773 by Jamie.Dale
Fixed crash after attempting to load a package that is too new
#jira UE-58121
Change 4099759 by Jamie.Dale
Fixed material editor crash if reloading a texture used by the material
#jira UE-57762
Change 4099744 by Jamie.Dale
Fixed placeholder string table entries being considered identical as their entry may appear in the future
#jira UE-58987
Change 4099735 by Jurre.deBaare
Crash importing specific Alembic file
#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
#jira UE-59095
Change 4099612 by Michael.Trepka
Reverted change that delays crash reporting initialization for CEF on Mac
#jira UE-57378
Change 4099564 by Guillaume.Abadie
Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.
#jira none
Change 4099557 by Guillaume.Abadie
Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.
#jira none
Change 4099549 by Guillaume.Abadie
Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.
#jira none
Change 4099544 by Guillaume.Abadie
Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)
#jira UE-58051
Change 4099540 by Richard.Wallis
Fix for PIE HighDPI touch location.
#jira UE-59015
Change 4099516 by Richard.Wallis
speculative fix for FSlateMacMenu::UpdateMenu() crashes. I've not been able to reproduce this. All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q. I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map. This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.
Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.
My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.
#jira UE-57012
Change 4099511 by Max.Chen
Fix CIS
#jira UE-59739
Change 4099486 by Richard.Wallis
Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges(). I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd. This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().
#jira UE-55071
Change 4099392 by Andrew.Rodham
Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled
#jira UE-59138
Change 4099386 by Ben.Marsh
Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.
#jira UE-58692
Change 4099382 by Benn.Gallagher
Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
#jira UE-55780
Change 4099363 by Jason.Bestimt
Fix for HMD errors
#jira UEVR-1191
Change 4099307 by Richard.Wallis
Clone of CL 4077664: Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(). Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().
#jira UE-51698
Change 4099289 by Richard.Wallis
Clone of CL 4059587: Fix for Sequencer window opening behind Main Window. FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window. On Mac this makes the world outliner / main window move back in front of the sequencer window. This change swaps around those operations. Reopen the world outliner then add the sequencer window. Outliner info still changes it's visible data as before.
Tested with World Outliner docked and undocked.
#jira UE-55280
Change 4099279 by Richard.Wallis
Fix for crash in Mac editor copying unusual characters in the output log.
Current operation is unsafe. String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.
#jira UE-57774
Change 4099256 by Richard.Wallis
Fix for menu options not updating immediatly after creating or removing collision on Mac. We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up. However these can be missed on a mouse menu selection (mouse up doesn't cover this case). This change makes sure that the menu cache updates after a menu item execute operation has been called.
#jira UE-57049
Change 4098972 by Max.Chen
Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.
#jira UE-59726
Change 4098967 by Mike.Zyracki
Turn off turning off optimization for geometry sequencer tracks.
#trivial
#jira UESEQ-372
Change 4098942 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098906 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098881 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098667 by Marcus.Wassmer
Duplicate 4098665. Fix d3ddebug error on launch
#jira UE-59693
Change 4098542 by Mike.Zyracki
Geometry Cache Sequencer Support for 4.20
#jira UESEQ-372
Change 4098373 by Jason.Bestimt
Misc Vulkan/Lumin fixes from Dev-VR
CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015
#JIRA: UE-59722
Change 4098334 by Ethan.Geller
[Release 4.20] #jira UE-54812 fix up include path.
Change 4098286 by Matt.Kuhlenschmidt
Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.
#jira UE-55792
Change 4098284 by Brandon.Schaefer
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4098247 by Michael.Trepka
Fixed a crash in FMacApplication::ProcessMouseUpEvent()
#jira UE-57859
Change 4098219 by Matt.Hoffman
Linux CIS Fixes for TOptional
#trivial
#jira None
Change 4098209 by Matt.Kuhlenschmidt
Disable "restart detection" reimport test until we can reproduce the issue. Its not detecting a legit issue
#jira UE-59710
Change 4098132 by Ben.Marsh
Add "Nuget Package Manager" to the list of required components for compiling the engine.
#jira UE-59376
Change 4098110 by Ben.Marsh
Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.
#jira UE-59150
Change 4098088 by Matt.Kuhlenschmidt
Fix ensure starting tutorials in any editor project
#jira UE-59714
Change 4098011 by Ben.Marsh
Fix editor targets not being rebuilt when packaging from an installed engine build.
#jira UE-58652
Change 4098006 by Matt.Hoffman
Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.
#jira UE-58270
Change 4097995 by Ryan.Vance
#jira UEVR-1190
Disable rhi thread when running with vulkan on oculus android platforms.
Change 4097981 by Ben.Marsh
Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.
#jira
Change 4097963 by Ben.Marsh
Write the exception callstack to the UBT log when thrown reading a makefile.
#jira UE-59222
Change 4097940 by Ben.Marsh
Prevent source folder being added as a private include path if it does not exist.
#jira UE-59145
Change 4097927 by Ethan.Geller
[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran
Change 4097905 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
#jira UE-59709
Change 4097898 by Ryan.Vance
#jira UEVR-1191
Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.
Change 4097855 by Ben.Marsh
Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.
#jira UE-58593
Change 4097850 by Ben.Marsh
Fix UE4Game compile errors.
#jira UE-58593
Change 4097849 by Marcin.Undak
Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)
- Fixed by BrandonS.
#jira UE-59484
(merged from Dev-Console)
Change 4097844 by Ben.Marsh
TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.
#jira UE-58593
Change 4097840 by Ben.Marsh
Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).
#jira UE-58593
Change 4097831 by Ben.Marsh
TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.
#jira UE-58593
Change 4097825 by Marcin.Undak
UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)
#jira UE-58923
Change 4097783 by Ethan.Geller
[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran
Change 4097767 by Matt.Kuhlenschmidt
Fix crash processing mainframe keybindings during slow tasks
#jira UE-55765
Change 4097745 by Ben.Marsh
Fixes to UpdateCopyright for latest source.
#jira
Change 4097743 by mason.seay
Test map for Virtual Camera Focus testing
#jira UE-29618
Change 4097723 by Matt.Kuhlenschmidt
Fix crash when importing assets in a folder containing an invalid character for a package name
#jira UE-59166,UE-44071
Change 4097713 by Max.Chen
Sequencer: Fix missing buttons in the particle toggle track.
Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.
#jira UE-59542
Change 4097683 by Max.Chen
Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin
#jira UE-59568
Change 4097681 by Krzysztof.Narkowicz
Missing file for CL 4097655: "Added subsurface profile for eye shading model."
#jira UE-59708
Change 4097655 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira UE-59708
Change 4097634 by Max.Chen
Sequencer: Add checks for valid sequencer.
#jira UE-59287
Change 4097627 by Max.Chen
Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange
#jira UE-58343
Change 4097625 by Max.Chen
Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.
#jira UE-58688
Change 4097620 by Max.Chen
Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence
#jira UE-53186
#jira UE-59664
Change 4097616 by Max.Chen
Text Render Component: Fix crash on shutdown.
#jira UE-58116
Change 4097607 by Max.Chen
Sequencer: Use non-throttled spin box for numeric key editor
#jira UE-59219
Change 4097606 by Max.Chen
Sequencer: Check for a valid segment ID in EvaluateStatic
#jira UE-57596
Change 4097538 by Marc.Audy
PR #4755: Fix minor typo in comment (Contributed by Marenz)
#jira UE-59671
Change 4097518 by Marcin.Undak
UBT: fix for platforms overriding project generation (merge from Dev-Console)
#jira UE-59485
Change 4097417 by Benn.Gallagher
Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.
#jira UE-57097
Change 4097407 by Jason.Bestimt
Changing MLSDK missing callback to launch MagicLeap URL
#JIRA: UE-58631
Change 4097404 by Jason.Bestimt
Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)
#JIRA: UE-58864
Change 4097296 by Matt.Kuhlenschmidt
Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi
#jira UE-58983
Change 4097284 by Matt.Kuhlenschmidt
PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)
#jira UE-57562
Change 4097275 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097261 by Matt.Kuhlenschmidt
Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249
#jira 0
Change 4097249 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097165 by Nick.Shin
#jira UE-58441 HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS
Change 4097163 by Nick.Shin
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4096984 by Ben.Marsh
Merging changes to //UE4/Main after 4.20 stream was created.
#jira
Change 4096873 by Ben.Marsh
Fix compile errors for UE4Editor when Oodle SDK is not available.
#jira
Change 4095992 by Ben.Marsh
Update stream for analytics.
#robomerge none
#jira
Change 4111924 by Ben.Marsh
Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.
#jira UE-59891
Change 4106160 by Ben.Marsh
UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.
#jira UE-59691
Change 4101702 by Mark.Satterthwaite
Duplicate 4098660 & 4101604
Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
- Changing the GPU will ask you to restart.
- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.
Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.
#jira UERNDR-404
Change 4101598 by Andrew.Grant
Changed RemoteSession background to something more generic.
#jira UE-59062
Change 4101553 by Mark.Satterthwaite
Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647
- Fixes LLM double-counting in MetalRHI.
- MetalProfiler improvements.
#jira NA
Change 4099406 by Ben.Marsh
Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.
#jira UE-57801
[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
|
|
|
int64 OutTmpVal = 0;
|
|
|
|
|
FPyConversionResult Result = NativizeEnumEntry(PyObj, EnumType, OutTmpVal, SetErrorState);
|
|
|
|
|
if (Result)
|
|
|
|
|
{
|
|
|
|
|
OutVal = (T)OutTmpVal;
|
|
|
|
|
}
|
|
|
|
|
return Result;
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Conversion for known enum types */
|
|
|
|
|
template <typename T>
|
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
MAJOR FEATURES & CHANGES
============================
Change 4112782 by Mitchell.Wilson
Resaving some cloth assets and fixing material compile warnings.
#jira UE-59946
Change 4112762 by Max.Chen
Sequence Recorder: Fix case where first recording is null but there are other valid recordings.
StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.
#jira UE-58688
Change 4112738 by Michael.Dupuis
#jira none:
Fixed Editor instance count, to only include placed instances.
Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
When deleting procedural foliage, we can now specify if we want to rebuild the tree.
Change 4112696 by Matt.Kuhlenschmidt
Prevent GC of material editor active preview expression
#jira UE-49777
Change 4112611 by Michael.Dupuis
Fixed Instance count when Alt+Dragging instance
#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost
Change 4112536 by Thomas.Sarkanen
Fixed static analysis warning caused by CL 4109096
#jira none
Change 4112139 by Phillip.Kavan
Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.
- Mirrored from //UE4/Dev-Framework (4111638).
#jira UE-53747
Change 4112138 by Phillip.Kavan
Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.
- Mirrored from //UE4/Dev-Framework (4111613).
#jira UE-59182
Change 4111630 by Matt.Collins
#jira UE-59934
Rolling back the previous integration of CL 4080446
Change 4111526 by Mike.Beach
Guarding against bad settings pointers internal to Oculus.
#jira UE-59778
Change 4111525 by Daniel.Wright
UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources. This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component). However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
#jira UE-59333
Change 4111518 by Mike.Beach
Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.
#jira UE-53643
Change 4111482 by Matt.Kuhlenschmidt
Fix blend sample context menu appering offset on high dpi monitors
#jira UE-59925
Change 4111362 by Ben.Marsh
Fix warnings building samples due to missing paths.
#jira
Change 4111299 by James.McNatton
Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404
Change 4111153 by Max.Chen
Sequencer: Fix dereferencing null pointer - CameraNode
#jira UE-59347
Change 4111143 by Matt.Collins
#jira UE-59934
CL 4107446 from Dev-Rendering.
Always force a commandbuffer submission during EndFrame.
Change 4111106 by Matt.Collins
#jira UERNDR-406
Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)
---
Some fixes for semaphore handling.
Moved the completion handler to EndFrame (out of FlushFreeList())
FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()
Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.
---
Change 4111099 by Ben.Zeigler
#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings
Change 4111039 by Ben.Zeigler
#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing
Change 4111013 by Steve.Robb
Fix for adding a new module to a project.
#jira UE-59770
Change 4110907 by Marc.Audy
Add required redirectorfor moving classes from TimeManagement to CoreUObject
#jira
Change 4110897 by Ben.Zeigler
#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead
Change 4110868 by Ben.Zeigler
#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first
Change 4110704 by Ben.Zeigler
#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind
Change 4110686 by Andrew.Grant
Resaved to fix empty engine version warning
#jira UE-59695
Change 4110466 by Ben.Zeigler
#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
Delete unused logo images
Change 4110418 by Ben.Zeigler
#jira UE-58025
Fix non editor builds
Change 4110258 by Max.Chen
Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.
- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
- Added a user toggle to match by name only. The default is true.
- When importing onto a selected node, disable the creation of cameras.
- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
- Remove any existing sections/keys when importing onto existing tracks.
#jira UE-59347
Change 4109923 by Michael.Dupuis
#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing
Change 4109916 by mason.seay
Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times
#jira UE-29618
Change 4109849 by Michael.Dupuis
#jira none: Removed PRAGMA_ENABLE_OPTIMISATION
Change 4109835 by Lukasz.Furman
added OnTaskFinished call when behavior tree's subtree is deactivated
#jira UE-48353
Change 4109829 by Ben.Zeigler
#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect
Change 4109820 by Michael.Dupuis
#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping
Change 4109813 by Michael.Dupuis
#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.
Change 4109780 by Alexis.Matte
Add the tps file for the levenshtein distance algorithm
#jira none
Change 4109567 by Ben.Marsh
Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.
#jira UE-55093
Change 4109542 by mason.seay
Updated timeline on BP
#jira UE-29618
Change 4109474 by Marc.Audy
Fix shadow variable warning
#jira UE-59895
Change 4109420 by Michael.Dupuis
#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit, do not assume it must always be valid, and simply skip it instead of crashing.
Change 4109397 by Ben.Marsh
Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.
#jira UE-59222
Change 4109395 by Lauren.Ridge
Removing legacy uses of GetEditorIcon from UMG
#jira UE-59038
Change 4109390 by Zachary.Wilson
Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
#jira UE-59409
Change 4109373 by Michael.Dupuis
#jira UE-58664
Restrict the Paint/Unpaint Density to 1.0
Restrict the Foliage Density type to 10000
Restrict the Grass Density type to 1000
Fixed a NAN that could be generated when adding instances
These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.
Change 4109348 by Lauren.Ridge
Removing engine content that used a material attribute layers node inside a material function
#jira UE-55739
Change 4109296 by Lauren.Ridge
Fix for crash on adding OnClicked event to button in Widget BP
#jira UE-59846
Change 4109193 by Matt.Kuhlenschmidt
Fixed crash when construction scripts are rerun during the details panel calling posteditchange
#jira UE-59649
Change 4109096 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4109078 by Ben.Marsh
Fix warnings building PlatformerGame due to incorrect include path.
#jira
Change 4109066 by Matt.Kuhlenschmidt
Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times
#jira UE-59866
Change 4109020 by Ben.Marsh
Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).
(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)
#jira UE-59641
Change 4108991 by Martin.Wilson
Fix crash when trying to extract transform from raw track with no track data.
#jira UE-58025
Change 4108987 by Martin.Wilson
Make sure rotations are normalized before creating blended transform
#jira UE-53971
Change 4108932 by Thomas.Sarkanen
Back out changelist 4108877
This was causing a 100% crash in an automated test
#jira none
Change 4108930 by Danny.Bouimad
Fixing testcase content #Jira UEQATC-405
Change 4108883 by Danny.Bouimad
Fixing Automated LodCurveLinkingTest1 #Jira UE-59763
Change 4108877 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4108874 by Thomas.Sarkanen
Fixed incorrect preview mesh being applied after retargeting
On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback
#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept
Change 4108834 by Thomas.Sarkanen
Pressing enter when selecting an object from a Blueprint node now works
#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes
Change 4108833 by Thomas.Sarkanen
Fixed crash caused by retargeting a skeleton when some of its animations are still open
Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.
#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]
Change 4108808 by Dmitriy.Dyomin
Fixed: ARPG crashes on Vulkan PC and Android
#jira UE-59781
Change 4108719 by Max.Chen
Sequencer: Fix CIS
#jira UESEQ-355
Change 4108675 by Max.Chen
Sequencer: Added audio support to FCP XML import/export
#jira UESEQ-355
Change 4108674 by Max.Chen
Sequencer: Upon export, log warnings when filename format is not '{shot}'
#jira UESEQ-358
Change 4108673 by Max.Chen
Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.
Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.
#jira UESEQ-358
Change 4108418 by Mark.Satterthwaite
Fix Shipping iOS builds.
#jira UE-59883
Change 4108118 by Alexis.Matte
Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
#jira UE-59854
#jira UE-57861
Change 4108059 by Ben.Marsh
Merge latest UGS fixes (up to 1.140) to 4.20 branch.
#jira
Change 4107719 by Mark.Satterthwaite
Duplicate 4107661:
Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.
#jira UE-59883
Change 4107443 by Lauren.Ridge
Fix for crash on connecting curve param node with no texture set
#jira UE-59880
Change 4107248 by Dan.Oconnor
Explicitly close floating Blueprint Debugger controls when the master tab is closed
#jira UE-59835
Change 4107137 by Jason.Bestimt
Removing ML Analytics Plugin to fix regressions
#JIRA: UE-59874, UE-59873
Change 4107125 by paulo.souza
#jira UE-59806 - ARPG - Goblin death not running all destroy logic
Change 4107113 by Phillip.Kavan
Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.
- Mirrored from //UE4/Dev-Framework (4081432).
#jira UE-59125
Change 4106736 by Jamie.Dale
Fixed content browser filter failing to match certain names if asset paths were omitted from the search
#jira UE-59849
Change 4106581 by Martin.Wilson
Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.
#jira UE-54851
Change 4106475 by Jason.Bestimt
Fix for Lumin Linux dependency in a better way
#JIRA: CIS
Change 4106201 by Michael.Trepka
Don't allow invalid cursor clip rects when locking the cursor on Mac
#jira UE-59842
Change 4106188 by Jason.Bestimt
Wrapping Lumin call with PLATFORM_LUMIN
#JIRA: CIS
Change 4106179 by Michael.Dupuis
#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
#4714
Change 4106176 by Martin.Wilson
Fix for crash introduced in 4105998
#jira UE-56395
Change 4106103 by Ben.Marsh
UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.
#jira
Change 4106081 by Marc.Audy
Fix shadow variable
#jira UE-59848
Change 4106078 by Jason.Bestimt
Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist
#JIRA: none
Change 4106015 by Martin.Wilson
Make sure that animations that have transform curves are up to date on loading.
#4320
#jira UE-53392
Change 4106005 by Anthony.Bills
[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll
#jira UE-59382
Change 4105998 by Martin.Wilson
Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones
#Jira UE-56395
Change 4105962 by Jeff.Fisher
Duplicating for 4.20:
Change: 4097595 and 4104555
UE-59359 Mr Mesh Crash at startup
-Vulkan does not work correctly unless we fill in all of the vertex buffers. MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.
#jira UE-59359
Change 4105952 by Ben.Marsh
Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.
#jira
Change 4105946 by Ben.Marsh
Disable debug info for IOS and TVOS in installed builds.
#jira UE-59816
Change 4105939 by Michael.Dupuis
#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu
Change 4105915 by Jamie.Dale
Implemented negative indexing for Python wrapped arrays
#jira UE-59841
Change 4105896 by Richard.Wallis
Another macOS TIS non-MainThread spam warning fix.
#jira UE-54623
Change 4105813 by Michael.Dupuis
#jira none: Prevent a possible crash if using world offset with a landscape without sub sections
Change 4105764 by Ben.Marsh
Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.
#jira
Change 4105747 by Ben.Marsh
Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)
#jira UE-59838
Change 4105642 by Jason.Bestimt
Disabling Lumin Platform Editor modules on linux
#JIRA: UE-59543
Change 4105553 by Matt.Kuhlenschmidt
PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)
#jira UE-57283
Change 4105486 by Michael.Dupuis
#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias
Change 4105474 by Michael.Dupuis
#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
#jira UE-58995:
Change 4105427 by Sorin.Gradinaru
UE-59698 Cannot load youtube URLs on Android
#jira UE-59698
#Android
#4.20
The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param
Change 4105308 by Mieszko.Zielinski
Merge of 4077826 over from Dev-Framework #UE4
#jira UE-59186
Change 4105050 by Ben.Marsh
Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.
#jira UE-59816
Change 4104584 by Mike.Beach
Mirroring CL 4103694 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104538 by Alexis.Matte
Fix crash when reloading a skeletal mesh actor with some vertex painting
#jira UE-57891
Change 4104534 by Mike.Beach
Mirroring CL 4090670/4094620 from Dev-VR
MR Calibration - Fixing an issue where the alignment models would disappear.
MR Calibration - Saving garbage mattes when exiting using escape.
#jira UEVR-24
Change 4104381 by Alexis.Matte
Fix a render thread crash when reimporting skeletal mesh
#jira UE-51935
Change 4104365 by Mike.Beach
Mirroring CL 4064903 from Dev-VR
Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.
#jira UE-58914
Change 4104341 by Alexis.Matte
Support non uniform scale scene transform for fbx skeletal mesh exporter
#jira UE-57733
Change 4104328 by Alexis.Matte
Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
#jira UE-58027
Change 4104318 by Phillip.Kavan
Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.
- Mirrored from //UE4/Dev-Framework (4082035).
#jira UE-59125
Change 4104305 by Mike.Beach
Mirroring CL 4098493 from Dev-VR
Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).
#jira UE-58953
Change 4104274 by Mike.Beach
Mirroring CL 4088048 from Dev-VR
Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.
#jira UE-59275
Change 4104259 by Mike.Beach
Mirroring CL 4084827/4085071 from Dev-VR
MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).
#jira UEVR-847
Change 4104246 by Mike.Beach
Mirroring CL 4084289 from Dev-VR
MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).
#jira UE-58187
Change 4104240 by Mike.Beach
Mirroring CL 4083160 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104233 by Mike.Beach
Mirroring CL 4081823 from Dev-VR
Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).
#jira UE-58190
Change 4104196 by Alexis.Matte
Unshelved from pending changelist '4075677':
Fix fbx scene re-import crash when the user re-import more then one time with some override material.
#jira UE-57937
Change 4104191 by Mike.Beach
Mirroring CL 4080389 from Dev-VR
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4104177 by Mike.Beach
Mirroring CL 4080119 from Dev-VR
CIS fix - circumventing vs2015 errors/warnings
#jira UE-59326, UE-59324
Change 4104170 by Mike.Beach
Mirroring CL 4078631 from Dev-VR
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4104167 by Jostin.Bilyeu
Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature
#jira UE-29618
Change 4104158 by Peter.Sumanaseni
#jira
Change 4104057 by Wes.Hunt
Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
#jira UE-59790
SOURCE CL 4101872 in //UE4/Main/...
Change 4104031 by Dan.Oconnor
Update assert to handle subobjects nested in components
#jira UE-56422
Change 4103946 by Dan.Oconnor
No need to load AnimationBlueprintEditor so early
#jira UE-59669
Change 4103859 by Brandon.Schaefer
Vulkan on Linux does not allow debugging with markers
This is required for debugging wtih Render Doc or anything that uses VK debug markers
#jira none
Change 4103677 by Sorin.Gradinaru
UE-59052 Can't use touch to interact with Web Browser on iPhoneX
#jira UE-59052
#iOS
#4.20
from CL4077699 on Dev-Mobile
Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)
Change 4103637 by Sorin.Gradinaru
UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android
#UE-39451
#Android
#4.30
from CL 4067204 on Dev-Mobile
Adding a proguard exception for the WebViewControl.FrameUpdateInfo
Change 4103619 by Marc.Audy
Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created
#jira UE-58875
Change 4103590 by mason.seay
Added Show Mouse Cursor
#jira UE-29618
Change 4103469 by paulo.souza
#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.
Change 4103459 by mason.seay
Updated maps so users can toggle UI-only input
#jira UE-29618
Change 4103423 by paulo.souza
#jira UE-59808 - Projectile abilities collision blocking on the camera trace
Change 4103280 by Jason.Bestimt
Fixing copyright in Lumin Plugins
#JIRA: 59192
Change 4103238 by JeanMichel.Dignard
Copied cl 4077328 from dev-enterprise
Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.
#jira UEENT-1423
Change 4103138 by Richard.Wallis
Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open. FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor. Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor
1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
3) Keep Editor and Game menu startup behaviour the same as before.
#jira UE-59704
Change 4102958 by mason.seay
Test map update
#jira UE-29618
Change 4102847 by Marc.Audy
Try and find the full path name for default value of class parameters
#jira UE-59746
Change 4102449 by Ben.Marsh
PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)
#jira UE-58275
Change 4102431 by Ben.Marsh
UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).
#jira UE-54979
Change 4102328 by Guillaume.Abadie
Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.
#jira none
Change 4102318 by Emil.Persson
Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
#jira UE-59217
Change 4102310 by Dmitriy.Dyomin
Fixed: UMG element clipping does not work on Android with Mali GPUs
#jira UE-56058
Change 4101920 by Ben.Marsh
Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.
#jira
Change 4101538 by Mark.Satterthwaite
Duplicate 4073368
Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.
#jira NA
Change 4101500 by Mark.Satterthwaite
Duplicate 4098091
On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.
#jira NA
Change 4101453 by Mark.Satterthwaite
Duplicate 4078874 & 4079396
Make LPV visualisation work on macOS to aid debugging.
#jira UE-58937
Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.
#jira UE-58937
Change 4101448 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4101417 by Sam.Deiter
#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.
Change 4101412 by Mark.Satterthwaite
Duplicate 4075868
Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.
#jira N/A
Change 4101393 by Mark.Satterthwaite
Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.
#jira N/A
Change 4101390 by Marc.Audy
Placed Editor Utility Base once again ticks in the editor as intended
#jira UE-59743
Change 4101367 by Brandon.Schaefer
Avoid printing when in a signal handler.
Put that off until the end
#jira UE-36663
Change 4101362 by Mark.Satterthwaite
Duplicate 4091485
PR - Fixed potential memory leak.
#4751
#jira UE-59490
Change 4101349 by Brandon.Schaefer
VHACD Needs to be recompiled
#jira UE-59506
Change 4101335 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
Change 4101325 by Dan.Oconnor
SA fix, remove unneeded null check
#jira UE-46834
Change 4101278 by Brandon.Schaefer
Set our location to Linux/Mac GenerateProject.sh if we are not running from that location
#jira UE-59127, UE-57928
Change 4101219 by Brandon.Schaefer
If RunUAT gets a signal while running mono bring mono down as well
#jira UE-56041
Change 4101169 by Dan.Oconnor
Mirror 4094297 from Dev-Framework
Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
#jira UE-59642
Change 4101157 by Sam.Deiter
#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.
Change 4101132 by Jamie.Dale
Fixed some places that were running asset registry queries inside a loop and causing performance issues
#jira UE-59766
Change 4101125 by Jamie.Dale
Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values
#jira UE-59766
Change 4101102 by Dan.Oconnor
Mirror 4090824 from Dev-Framework
Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
#jira UE-59530
Change 4101017 by Brandon.Schaefer
Add a pop up message box for Linux to check if we want to or not submit crash report data
#jira UE-59617
Change 4100961 by Michael.Trepka
Updated Mac VHACD libs
#jira UE-59506
Change 4100703 by Dan.Oconnor
Mirror 4090523 from Dev-Framework
Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry
#jira UE-59526
Change 4100697 by Dan.Oconnor
Merge 4083850 from Dev-Framework
Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction
#jira UE-59036
Change 4100687 by Dan.Oconnor
Mirror 4086666 from Dev-Framework
Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session
#jira UE-58916
Change 4100658 by Jostin.Bilyeu
Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity
#jira UE-29618
Change 4100600 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4100576 by Dan.Oconnor
Mirror 4081417 from Dev-Framework
Enum literals are now more similar to byte literals, which makes them safer to pass by reference
#jira UE-58473
Change 4100559 by Dan.Oconnor
Mirror 4081153 from Dev-Framework
Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
#jira UE-59313
Change 4100540 by Dan.Oconnor
Mirror 4078822 from Dev-Framework
Continue trying to finish reinstancing when instances of the old class are being async loaded
#jira UE-58123
Change 4100527 by Dan.Oconnor
Mirror 4092349 from Dev-Framework
Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down
#jira UE-57763
Change 4100478 by Mike.Zyracki
weighted, non-weighted fix typo fix for issue found by AndrewP
#jira UE-58573
Change 4100445 by Mike.Zyracki
Fix for build warning, order of initialization.
#jira UE-58712
#trivial
Change 4100438 by Dan.Oconnor
Mirror 4083455 from Dev-Framework
Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up
#jira UE-46834
Change 4100374 by Mike.Zyracki
Fix for bad Camera Rotation Imported From Maya
Main issue was that we don't support RotationOrders that aren't XYZ.
We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
Currently recommendation is to always just zero everything out.
Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.
#jira UE-59116
Change 4100310 by Jamie.Dale
Fixed ExecutePythonScript failing when passing file arguments
#jira none
Change 4100305 by Mike.Zyracki
Fix for performance issues with motion trails.
Found that the main issue was the GetRefTM call. Refactored the code so that we only call that once per tick, instead of up to 4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys. Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.
Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.
#jira UE-58712
Change 4100290 by Ben.Marsh
Prevent schema being added as a build product twice.
#jira UE-59757
Change 4100259 by Jeff.Fisher
Duplicating in Release-4.20:
Change: 4087159
UE-58249 Late update has FP precision issues on PSVR
-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation. This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.
#review-4087096
#jira UE-58249
Files:
//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71
Change 4100170 by Brandon.Schaefer
Need dump_syms and BreakpadSymbolEncoder in installed builds
#jira UE-59500
Change 4100070 by Richard.Wallis
Speculative fix for crash in macOS AppKit NSPersistentUIManager. Disable NSWindow application resume feature per window - we are not using it anyway. OS system may still be called but hopefully this reduces the amount of work it is doing. There still seems to be some generic data getting written however.
There is also an undocumented *NSDisablePersistence* plist key. Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.
#jira UE-52294
Change 4099999 by James.McNatton
Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none
Change 4099996 by Ben.Marsh
Build: Merge changes to support AutoSDKs on Mac.
#jira UE-59574
Change 4099991 by Jamie.Dale
Updated wrapped enums to be more consistent with native Python enums
- Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
- Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
- Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
- Wrapped enums may now be iterated (like native Python enums).
- Wrapped enums now return a length based on their number of entries (like native Python enums).
- ScriptName meta-data can now be used with enum entries.
#jira none
Change 4099973 by Mitchell.Wilson
Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
#jira UE-59744
Change 4099913 by Jamie.Dale
Fixed some places that were calling LoadModuleChecked during shutdown
#jira UE-59482
Change 4099905 by Jamie.Dale
Fixed InitializeAvailableCultures missing some languages
#jira UE-59349
Change 4099879 by Jamie.Dale
Fixed a crash when a Blueprint with variable watches was destroyed
#jira UE-59117
Change 4099874 by Mitchell.Wilson
Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
#jira UE-59745 UE-59744
Change 4099860 by Benn.Gallagher
Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.
#jira UE-57337
Change 4099819 by Richard.Wallis
Fix for Timed Notifies scrub incorrectly on timeline on Mac. This is also an issue if running in Hi DPI on windows.
#jira UE-55678
Change 4099808 by Jamie.Dale
Fixed crash when content hot-reloading the build data for the currently loaded world
#jira UE-59163
Change 4099773 by Jamie.Dale
Fixed crash after attempting to load a package that is too new
#jira UE-58121
Change 4099759 by Jamie.Dale
Fixed material editor crash if reloading a texture used by the material
#jira UE-57762
Change 4099744 by Jamie.Dale
Fixed placeholder string table entries being considered identical as their entry may appear in the future
#jira UE-58987
Change 4099735 by Jurre.deBaare
Crash importing specific Alembic file
#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
#jira UE-59095
Change 4099612 by Michael.Trepka
Reverted change that delays crash reporting initialization for CEF on Mac
#jira UE-57378
Change 4099564 by Guillaume.Abadie
Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.
#jira none
Change 4099557 by Guillaume.Abadie
Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.
#jira none
Change 4099549 by Guillaume.Abadie
Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.
#jira none
Change 4099544 by Guillaume.Abadie
Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)
#jira UE-58051
Change 4099540 by Richard.Wallis
Fix for PIE HighDPI touch location.
#jira UE-59015
Change 4099516 by Richard.Wallis
speculative fix for FSlateMacMenu::UpdateMenu() crashes. I've not been able to reproduce this. All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q. I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map. This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.
Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.
My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.
#jira UE-57012
Change 4099511 by Max.Chen
Fix CIS
#jira UE-59739
Change 4099486 by Richard.Wallis
Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges(). I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd. This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().
#jira UE-55071
Change 4099392 by Andrew.Rodham
Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled
#jira UE-59138
Change 4099386 by Ben.Marsh
Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.
#jira UE-58692
Change 4099382 by Benn.Gallagher
Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
#jira UE-55780
Change 4099363 by Jason.Bestimt
Fix for HMD errors
#jira UEVR-1191
Change 4099307 by Richard.Wallis
Clone of CL 4077664: Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(). Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().
#jira UE-51698
Change 4099289 by Richard.Wallis
Clone of CL 4059587: Fix for Sequencer window opening behind Main Window. FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window. On Mac this makes the world outliner / main window move back in front of the sequencer window. This change swaps around those operations. Reopen the world outliner then add the sequencer window. Outliner info still changes it's visible data as before.
Tested with World Outliner docked and undocked.
#jira UE-55280
Change 4099279 by Richard.Wallis
Fix for crash in Mac editor copying unusual characters in the output log.
Current operation is unsafe. String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.
#jira UE-57774
Change 4099256 by Richard.Wallis
Fix for menu options not updating immediatly after creating or removing collision on Mac. We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up. However these can be missed on a mouse menu selection (mouse up doesn't cover this case). This change makes sure that the menu cache updates after a menu item execute operation has been called.
#jira UE-57049
Change 4098972 by Max.Chen
Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.
#jira UE-59726
Change 4098967 by Mike.Zyracki
Turn off turning off optimization for geometry sequencer tracks.
#trivial
#jira UESEQ-372
Change 4098942 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098906 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098881 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098667 by Marcus.Wassmer
Duplicate 4098665. Fix d3ddebug error on launch
#jira UE-59693
Change 4098542 by Mike.Zyracki
Geometry Cache Sequencer Support for 4.20
#jira UESEQ-372
Change 4098373 by Jason.Bestimt
Misc Vulkan/Lumin fixes from Dev-VR
CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015
#JIRA: UE-59722
Change 4098334 by Ethan.Geller
[Release 4.20] #jira UE-54812 fix up include path.
Change 4098286 by Matt.Kuhlenschmidt
Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.
#jira UE-55792
Change 4098284 by Brandon.Schaefer
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4098247 by Michael.Trepka
Fixed a crash in FMacApplication::ProcessMouseUpEvent()
#jira UE-57859
Change 4098219 by Matt.Hoffman
Linux CIS Fixes for TOptional
#trivial
#jira None
Change 4098209 by Matt.Kuhlenschmidt
Disable "restart detection" reimport test until we can reproduce the issue. Its not detecting a legit issue
#jira UE-59710
Change 4098132 by Ben.Marsh
Add "Nuget Package Manager" to the list of required components for compiling the engine.
#jira UE-59376
Change 4098110 by Ben.Marsh
Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.
#jira UE-59150
Change 4098088 by Matt.Kuhlenschmidt
Fix ensure starting tutorials in any editor project
#jira UE-59714
Change 4098011 by Ben.Marsh
Fix editor targets not being rebuilt when packaging from an installed engine build.
#jira UE-58652
Change 4098006 by Matt.Hoffman
Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.
#jira UE-58270
Change 4097995 by Ryan.Vance
#jira UEVR-1190
Disable rhi thread when running with vulkan on oculus android platforms.
Change 4097981 by Ben.Marsh
Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.
#jira
Change 4097963 by Ben.Marsh
Write the exception callstack to the UBT log when thrown reading a makefile.
#jira UE-59222
Change 4097940 by Ben.Marsh
Prevent source folder being added as a private include path if it does not exist.
#jira UE-59145
Change 4097927 by Ethan.Geller
[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran
Change 4097905 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
#jira UE-59709
Change 4097898 by Ryan.Vance
#jira UEVR-1191
Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.
Change 4097855 by Ben.Marsh
Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.
#jira UE-58593
Change 4097850 by Ben.Marsh
Fix UE4Game compile errors.
#jira UE-58593
Change 4097849 by Marcin.Undak
Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)
- Fixed by BrandonS.
#jira UE-59484
(merged from Dev-Console)
Change 4097844 by Ben.Marsh
TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.
#jira UE-58593
Change 4097840 by Ben.Marsh
Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).
#jira UE-58593
Change 4097831 by Ben.Marsh
TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.
#jira UE-58593
Change 4097825 by Marcin.Undak
UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)
#jira UE-58923
Change 4097783 by Ethan.Geller
[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran
Change 4097767 by Matt.Kuhlenschmidt
Fix crash processing mainframe keybindings during slow tasks
#jira UE-55765
Change 4097745 by Ben.Marsh
Fixes to UpdateCopyright for latest source.
#jira
Change 4097743 by mason.seay
Test map for Virtual Camera Focus testing
#jira UE-29618
Change 4097723 by Matt.Kuhlenschmidt
Fix crash when importing assets in a folder containing an invalid character for a package name
#jira UE-59166,UE-44071
Change 4097713 by Max.Chen
Sequencer: Fix missing buttons in the particle toggle track.
Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.
#jira UE-59542
Change 4097683 by Max.Chen
Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin
#jira UE-59568
Change 4097681 by Krzysztof.Narkowicz
Missing file for CL 4097655: "Added subsurface profile for eye shading model."
#jira UE-59708
Change 4097655 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira UE-59708
Change 4097634 by Max.Chen
Sequencer: Add checks for valid sequencer.
#jira UE-59287
Change 4097627 by Max.Chen
Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange
#jira UE-58343
Change 4097625 by Max.Chen
Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.
#jira UE-58688
Change 4097620 by Max.Chen
Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence
#jira UE-53186
#jira UE-59664
Change 4097616 by Max.Chen
Text Render Component: Fix crash on shutdown.
#jira UE-58116
Change 4097607 by Max.Chen
Sequencer: Use non-throttled spin box for numeric key editor
#jira UE-59219
Change 4097606 by Max.Chen
Sequencer: Check for a valid segment ID in EvaluateStatic
#jira UE-57596
Change 4097538 by Marc.Audy
PR #4755: Fix minor typo in comment (Contributed by Marenz)
#jira UE-59671
Change 4097518 by Marcin.Undak
UBT: fix for platforms overriding project generation (merge from Dev-Console)
#jira UE-59485
Change 4097417 by Benn.Gallagher
Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.
#jira UE-57097
Change 4097407 by Jason.Bestimt
Changing MLSDK missing callback to launch MagicLeap URL
#JIRA: UE-58631
Change 4097404 by Jason.Bestimt
Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)
#JIRA: UE-58864
Change 4097296 by Matt.Kuhlenschmidt
Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi
#jira UE-58983
Change 4097284 by Matt.Kuhlenschmidt
PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)
#jira UE-57562
Change 4097275 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097261 by Matt.Kuhlenschmidt
Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249
#jira 0
Change 4097249 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097165 by Nick.Shin
#jira UE-58441 HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS
Change 4097163 by Nick.Shin
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4096984 by Ben.Marsh
Merging changes to //UE4/Main after 4.20 stream was created.
#jira
Change 4096873 by Ben.Marsh
Fix compile errors for UE4Editor when Oodle SDK is not available.
#jira
Change 4095992 by Ben.Marsh
Update stream for analytics.
#robomerge none
#jira
Change 4111924 by Ben.Marsh
Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.
#jira UE-59891
Change 4106160 by Ben.Marsh
UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.
#jira UE-59691
Change 4101702 by Mark.Satterthwaite
Duplicate 4098660 & 4101604
Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
- Changing the GPU will ask you to restart.
- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.
Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.
#jira UERNDR-404
Change 4101598 by Andrew.Grant
Changed RemoteSession background to something more generic.
#jira UE-59062
Change 4101553 by Mark.Satterthwaite
Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647
- Fixes LLM double-counting in MetalRHI.
- MetalProfiler improvements.
#jira NA
Change 4099406 by Ben.Marsh
Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.
#jira UE-57801
[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
|
|
|
FPyConversionResult PythonizeEnumEntry(const T& Val, const UEnum* EnumType, PyObject*& OutPyObj, const ESetErrorState SetErrorState = ESetErrorState::Yes)
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
{
|
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
MAJOR FEATURES & CHANGES
============================
Change 4112782 by Mitchell.Wilson
Resaving some cloth assets and fixing material compile warnings.
#jira UE-59946
Change 4112762 by Max.Chen
Sequence Recorder: Fix case where first recording is null but there are other valid recordings.
StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.
#jira UE-58688
Change 4112738 by Michael.Dupuis
#jira none:
Fixed Editor instance count, to only include placed instances.
Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
When deleting procedural foliage, we can now specify if we want to rebuild the tree.
Change 4112696 by Matt.Kuhlenschmidt
Prevent GC of material editor active preview expression
#jira UE-49777
Change 4112611 by Michael.Dupuis
Fixed Instance count when Alt+Dragging instance
#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost
Change 4112536 by Thomas.Sarkanen
Fixed static analysis warning caused by CL 4109096
#jira none
Change 4112139 by Phillip.Kavan
Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.
- Mirrored from //UE4/Dev-Framework (4111638).
#jira UE-53747
Change 4112138 by Phillip.Kavan
Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.
- Mirrored from //UE4/Dev-Framework (4111613).
#jira UE-59182
Change 4111630 by Matt.Collins
#jira UE-59934
Rolling back the previous integration of CL 4080446
Change 4111526 by Mike.Beach
Guarding against bad settings pointers internal to Oculus.
#jira UE-59778
Change 4111525 by Daniel.Wright
UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources. This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component). However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
#jira UE-59333
Change 4111518 by Mike.Beach
Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.
#jira UE-53643
Change 4111482 by Matt.Kuhlenschmidt
Fix blend sample context menu appering offset on high dpi monitors
#jira UE-59925
Change 4111362 by Ben.Marsh
Fix warnings building samples due to missing paths.
#jira
Change 4111299 by James.McNatton
Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404
Change 4111153 by Max.Chen
Sequencer: Fix dereferencing null pointer - CameraNode
#jira UE-59347
Change 4111143 by Matt.Collins
#jira UE-59934
CL 4107446 from Dev-Rendering.
Always force a commandbuffer submission during EndFrame.
Change 4111106 by Matt.Collins
#jira UERNDR-406
Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)
---
Some fixes for semaphore handling.
Moved the completion handler to EndFrame (out of FlushFreeList())
FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()
Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.
---
Change 4111099 by Ben.Zeigler
#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings
Change 4111039 by Ben.Zeigler
#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing
Change 4111013 by Steve.Robb
Fix for adding a new module to a project.
#jira UE-59770
Change 4110907 by Marc.Audy
Add required redirectorfor moving classes from TimeManagement to CoreUObject
#jira
Change 4110897 by Ben.Zeigler
#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead
Change 4110868 by Ben.Zeigler
#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first
Change 4110704 by Ben.Zeigler
#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind
Change 4110686 by Andrew.Grant
Resaved to fix empty engine version warning
#jira UE-59695
Change 4110466 by Ben.Zeigler
#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
Delete unused logo images
Change 4110418 by Ben.Zeigler
#jira UE-58025
Fix non editor builds
Change 4110258 by Max.Chen
Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.
- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
- Added a user toggle to match by name only. The default is true.
- When importing onto a selected node, disable the creation of cameras.
- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
- Remove any existing sections/keys when importing onto existing tracks.
#jira UE-59347
Change 4109923 by Michael.Dupuis
#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing
Change 4109916 by mason.seay
Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times
#jira UE-29618
Change 4109849 by Michael.Dupuis
#jira none: Removed PRAGMA_ENABLE_OPTIMISATION
Change 4109835 by Lukasz.Furman
added OnTaskFinished call when behavior tree's subtree is deactivated
#jira UE-48353
Change 4109829 by Ben.Zeigler
#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect
Change 4109820 by Michael.Dupuis
#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping
Change 4109813 by Michael.Dupuis
#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.
Change 4109780 by Alexis.Matte
Add the tps file for the levenshtein distance algorithm
#jira none
Change 4109567 by Ben.Marsh
Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.
#jira UE-55093
Change 4109542 by mason.seay
Updated timeline on BP
#jira UE-29618
Change 4109474 by Marc.Audy
Fix shadow variable warning
#jira UE-59895
Change 4109420 by Michael.Dupuis
#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit, do not assume it must always be valid, and simply skip it instead of crashing.
Change 4109397 by Ben.Marsh
Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.
#jira UE-59222
Change 4109395 by Lauren.Ridge
Removing legacy uses of GetEditorIcon from UMG
#jira UE-59038
Change 4109390 by Zachary.Wilson
Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
#jira UE-59409
Change 4109373 by Michael.Dupuis
#jira UE-58664
Restrict the Paint/Unpaint Density to 1.0
Restrict the Foliage Density type to 10000
Restrict the Grass Density type to 1000
Fixed a NAN that could be generated when adding instances
These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.
Change 4109348 by Lauren.Ridge
Removing engine content that used a material attribute layers node inside a material function
#jira UE-55739
Change 4109296 by Lauren.Ridge
Fix for crash on adding OnClicked event to button in Widget BP
#jira UE-59846
Change 4109193 by Matt.Kuhlenschmidt
Fixed crash when construction scripts are rerun during the details panel calling posteditchange
#jira UE-59649
Change 4109096 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4109078 by Ben.Marsh
Fix warnings building PlatformerGame due to incorrect include path.
#jira
Change 4109066 by Matt.Kuhlenschmidt
Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times
#jira UE-59866
Change 4109020 by Ben.Marsh
Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).
(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)
#jira UE-59641
Change 4108991 by Martin.Wilson
Fix crash when trying to extract transform from raw track with no track data.
#jira UE-58025
Change 4108987 by Martin.Wilson
Make sure rotations are normalized before creating blended transform
#jira UE-53971
Change 4108932 by Thomas.Sarkanen
Back out changelist 4108877
This was causing a 100% crash in an automated test
#jira none
Change 4108930 by Danny.Bouimad
Fixing testcase content #Jira UEQATC-405
Change 4108883 by Danny.Bouimad
Fixing Automated LodCurveLinkingTest1 #Jira UE-59763
Change 4108877 by Thomas.Sarkanen
Fixed crash when running in standalone editor build using sub-instances that copy properties
DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.
#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable
Change 4108874 by Thomas.Sarkanen
Fixed incorrect preview mesh being applied after retargeting
On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback
#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept
Change 4108834 by Thomas.Sarkanen
Pressing enter when selecting an object from a Blueprint node now works
#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes
Change 4108833 by Thomas.Sarkanen
Fixed crash caused by retargeting a skeleton when some of its animations are still open
Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.
#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]
Change 4108808 by Dmitriy.Dyomin
Fixed: ARPG crashes on Vulkan PC and Android
#jira UE-59781
Change 4108719 by Max.Chen
Sequencer: Fix CIS
#jira UESEQ-355
Change 4108675 by Max.Chen
Sequencer: Added audio support to FCP XML import/export
#jira UESEQ-355
Change 4108674 by Max.Chen
Sequencer: Upon export, log warnings when filename format is not '{shot}'
#jira UESEQ-358
Change 4108673 by Max.Chen
Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.
Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.
#jira UESEQ-358
Change 4108418 by Mark.Satterthwaite
Fix Shipping iOS builds.
#jira UE-59883
Change 4108118 by Alexis.Matte
Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
#jira UE-59854
#jira UE-57861
Change 4108059 by Ben.Marsh
Merge latest UGS fixes (up to 1.140) to 4.20 branch.
#jira
Change 4107719 by Mark.Satterthwaite
Duplicate 4107661:
Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.
#jira UE-59883
Change 4107443 by Lauren.Ridge
Fix for crash on connecting curve param node with no texture set
#jira UE-59880
Change 4107248 by Dan.Oconnor
Explicitly close floating Blueprint Debugger controls when the master tab is closed
#jira UE-59835
Change 4107137 by Jason.Bestimt
Removing ML Analytics Plugin to fix regressions
#JIRA: UE-59874, UE-59873
Change 4107125 by paulo.souza
#jira UE-59806 - ARPG - Goblin death not running all destroy logic
Change 4107113 by Phillip.Kavan
Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.
- Mirrored from //UE4/Dev-Framework (4081432).
#jira UE-59125
Change 4106736 by Jamie.Dale
Fixed content browser filter failing to match certain names if asset paths were omitted from the search
#jira UE-59849
Change 4106581 by Martin.Wilson
Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.
#jira UE-54851
Change 4106475 by Jason.Bestimt
Fix for Lumin Linux dependency in a better way
#JIRA: CIS
Change 4106201 by Michael.Trepka
Don't allow invalid cursor clip rects when locking the cursor on Mac
#jira UE-59842
Change 4106188 by Jason.Bestimt
Wrapping Lumin call with PLATFORM_LUMIN
#JIRA: CIS
Change 4106179 by Michael.Dupuis
#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
#4714
Change 4106176 by Martin.Wilson
Fix for crash introduced in 4105998
#jira UE-56395
Change 4106103 by Ben.Marsh
UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.
#jira
Change 4106081 by Marc.Audy
Fix shadow variable
#jira UE-59848
Change 4106078 by Jason.Bestimt
Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist
#JIRA: none
Change 4106015 by Martin.Wilson
Make sure that animations that have transform curves are up to date on loading.
#4320
#jira UE-53392
Change 4106005 by Anthony.Bills
[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll
#jira UE-59382
Change 4105998 by Martin.Wilson
Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones
#Jira UE-56395
Change 4105962 by Jeff.Fisher
Duplicating for 4.20:
Change: 4097595 and 4104555
UE-59359 Mr Mesh Crash at startup
-Vulkan does not work correctly unless we fill in all of the vertex buffers. MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.
#jira UE-59359
Change 4105952 by Ben.Marsh
Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.
#jira
Change 4105946 by Ben.Marsh
Disable debug info for IOS and TVOS in installed builds.
#jira UE-59816
Change 4105939 by Michael.Dupuis
#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu
Change 4105915 by Jamie.Dale
Implemented negative indexing for Python wrapped arrays
#jira UE-59841
Change 4105896 by Richard.Wallis
Another macOS TIS non-MainThread spam warning fix.
#jira UE-54623
Change 4105813 by Michael.Dupuis
#jira none: Prevent a possible crash if using world offset with a landscape without sub sections
Change 4105764 by Ben.Marsh
Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.
#jira
Change 4105747 by Ben.Marsh
Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)
#jira UE-59838
Change 4105642 by Jason.Bestimt
Disabling Lumin Platform Editor modules on linux
#JIRA: UE-59543
Change 4105553 by Matt.Kuhlenschmidt
PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)
#jira UE-57283
Change 4105486 by Michael.Dupuis
#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias
Change 4105474 by Michael.Dupuis
#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
#jira UE-58995:
Change 4105427 by Sorin.Gradinaru
UE-59698 Cannot load youtube URLs on Android
#jira UE-59698
#Android
#4.20
The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param
Change 4105308 by Mieszko.Zielinski
Merge of 4077826 over from Dev-Framework #UE4
#jira UE-59186
Change 4105050 by Ben.Marsh
Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.
#jira UE-59816
Change 4104584 by Mike.Beach
Mirroring CL 4103694 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104538 by Alexis.Matte
Fix crash when reloading a skeletal mesh actor with some vertex painting
#jira UE-57891
Change 4104534 by Mike.Beach
Mirroring CL 4090670/4094620 from Dev-VR
MR Calibration - Fixing an issue where the alignment models would disappear.
MR Calibration - Saving garbage mattes when exiting using escape.
#jira UEVR-24
Change 4104381 by Alexis.Matte
Fix a render thread crash when reimporting skeletal mesh
#jira UE-51935
Change 4104365 by Mike.Beach
Mirroring CL 4064903 from Dev-VR
Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.
#jira UE-58914
Change 4104341 by Alexis.Matte
Support non uniform scale scene transform for fbx skeletal mesh exporter
#jira UE-57733
Change 4104328 by Alexis.Matte
Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
#jira UE-58027
Change 4104318 by Phillip.Kavan
Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.
- Mirrored from //UE4/Dev-Framework (4082035).
#jira UE-59125
Change 4104305 by Mike.Beach
Mirroring CL 4098493 from Dev-VR
Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).
#jira UE-58953
Change 4104274 by Mike.Beach
Mirroring CL 4088048 from Dev-VR
Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.
#jira UE-59275
Change 4104259 by Mike.Beach
Mirroring CL 4084827/4085071 from Dev-VR
MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).
#jira UEVR-847
Change 4104246 by Mike.Beach
Mirroring CL 4084289 from Dev-VR
MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).
#jira UE-58187
Change 4104240 by Mike.Beach
Mirroring CL 4083160 from Dev-VR
Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).
#jira UE-56511
Change 4104233 by Mike.Beach
Mirroring CL 4081823 from Dev-VR
Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).
#jira UE-58190
Change 4104196 by Alexis.Matte
Unshelved from pending changelist '4075677':
Fix fbx scene re-import crash when the user re-import more then one time with some override material.
#jira UE-57937
Change 4104191 by Mike.Beach
Mirroring CL 4080389 from Dev-VR
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4104177 by Mike.Beach
Mirroring CL 4080119 from Dev-VR
CIS fix - circumventing vs2015 errors/warnings
#jira UE-59326, UE-59324
Change 4104170 by Mike.Beach
Mirroring CL 4078631 from Dev-VR
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4104167 by Jostin.Bilyeu
Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature
#jira UE-29618
Change 4104158 by Peter.Sumanaseni
#jira
Change 4104057 by Wes.Hunt
Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
#jira UE-59790
SOURCE CL 4101872 in //UE4/Main/...
Change 4104031 by Dan.Oconnor
Update assert to handle subobjects nested in components
#jira UE-56422
Change 4103946 by Dan.Oconnor
No need to load AnimationBlueprintEditor so early
#jira UE-59669
Change 4103859 by Brandon.Schaefer
Vulkan on Linux does not allow debugging with markers
This is required for debugging wtih Render Doc or anything that uses VK debug markers
#jira none
Change 4103677 by Sorin.Gradinaru
UE-59052 Can't use touch to interact with Web Browser on iPhoneX
#jira UE-59052
#iOS
#4.20
from CL4077699 on Dev-Mobile
Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)
Change 4103637 by Sorin.Gradinaru
UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android
#UE-39451
#Android
#4.30
from CL 4067204 on Dev-Mobile
Adding a proguard exception for the WebViewControl.FrameUpdateInfo
Change 4103619 by Marc.Audy
Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created
#jira UE-58875
Change 4103590 by mason.seay
Added Show Mouse Cursor
#jira UE-29618
Change 4103469 by paulo.souza
#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.
Change 4103459 by mason.seay
Updated maps so users can toggle UI-only input
#jira UE-29618
Change 4103423 by paulo.souza
#jira UE-59808 - Projectile abilities collision blocking on the camera trace
Change 4103280 by Jason.Bestimt
Fixing copyright in Lumin Plugins
#JIRA: 59192
Change 4103238 by JeanMichel.Dignard
Copied cl 4077328 from dev-enterprise
Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.
#jira UEENT-1423
Change 4103138 by Richard.Wallis
Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open. FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor. Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor
1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
3) Keep Editor and Game menu startup behaviour the same as before.
#jira UE-59704
Change 4102958 by mason.seay
Test map update
#jira UE-29618
Change 4102847 by Marc.Audy
Try and find the full path name for default value of class parameters
#jira UE-59746
Change 4102449 by Ben.Marsh
PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)
#jira UE-58275
Change 4102431 by Ben.Marsh
UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).
#jira UE-54979
Change 4102328 by Guillaume.Abadie
Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.
#jira none
Change 4102318 by Emil.Persson
Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
#jira UE-59217
Change 4102310 by Dmitriy.Dyomin
Fixed: UMG element clipping does not work on Android with Mali GPUs
#jira UE-56058
Change 4101920 by Ben.Marsh
Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.
#jira
Change 4101538 by Mark.Satterthwaite
Duplicate 4073368
Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.
#jira NA
Change 4101500 by Mark.Satterthwaite
Duplicate 4098091
On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.
#jira NA
Change 4101453 by Mark.Satterthwaite
Duplicate 4078874 & 4079396
Make LPV visualisation work on macOS to aid debugging.
#jira UE-58937
Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.
#jira UE-58937
Change 4101448 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4101417 by Sam.Deiter
#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.
Change 4101412 by Mark.Satterthwaite
Duplicate 4075868
Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.
#jira N/A
Change 4101393 by Mark.Satterthwaite
Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.
#jira N/A
Change 4101390 by Marc.Audy
Placed Editor Utility Base once again ticks in the editor as intended
#jira UE-59743
Change 4101367 by Brandon.Schaefer
Avoid printing when in a signal handler.
Put that off until the end
#jira UE-36663
Change 4101362 by Mark.Satterthwaite
Duplicate 4091485
PR - Fixed potential memory leak.
#4751
#jira UE-59490
Change 4101349 by Brandon.Schaefer
VHACD Needs to be recompiled
#jira UE-59506
Change 4101335 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
Change 4101325 by Dan.Oconnor
SA fix, remove unneeded null check
#jira UE-46834
Change 4101278 by Brandon.Schaefer
Set our location to Linux/Mac GenerateProject.sh if we are not running from that location
#jira UE-59127, UE-57928
Change 4101219 by Brandon.Schaefer
If RunUAT gets a signal while running mono bring mono down as well
#jira UE-56041
Change 4101169 by Dan.Oconnor
Mirror 4094297 from Dev-Framework
Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
#jira UE-59642
Change 4101157 by Sam.Deiter
#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.
Change 4101132 by Jamie.Dale
Fixed some places that were running asset registry queries inside a loop and causing performance issues
#jira UE-59766
Change 4101125 by Jamie.Dale
Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values
#jira UE-59766
Change 4101102 by Dan.Oconnor
Mirror 4090824 from Dev-Framework
Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
#jira UE-59530
Change 4101017 by Brandon.Schaefer
Add a pop up message box for Linux to check if we want to or not submit crash report data
#jira UE-59617
Change 4100961 by Michael.Trepka
Updated Mac VHACD libs
#jira UE-59506
Change 4100703 by Dan.Oconnor
Mirror 4090523 from Dev-Framework
Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry
#jira UE-59526
Change 4100697 by Dan.Oconnor
Merge 4083850 from Dev-Framework
Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction
#jira UE-59036
Change 4100687 by Dan.Oconnor
Mirror 4086666 from Dev-Framework
Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session
#jira UE-58916
Change 4100658 by Jostin.Bilyeu
Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity
#jira UE-29618
Change 4100600 by Max.Chen
Sequencer: Fix uninitialized default completion mode
#jira UE-58335
Change 4100576 by Dan.Oconnor
Mirror 4081417 from Dev-Framework
Enum literals are now more similar to byte literals, which makes them safer to pass by reference
#jira UE-58473
Change 4100559 by Dan.Oconnor
Mirror 4081153 from Dev-Framework
Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
#jira UE-59313
Change 4100540 by Dan.Oconnor
Mirror 4078822 from Dev-Framework
Continue trying to finish reinstancing when instances of the old class are being async loaded
#jira UE-58123
Change 4100527 by Dan.Oconnor
Mirror 4092349 from Dev-Framework
Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down
#jira UE-57763
Change 4100478 by Mike.Zyracki
weighted, non-weighted fix typo fix for issue found by AndrewP
#jira UE-58573
Change 4100445 by Mike.Zyracki
Fix for build warning, order of initialization.
#jira UE-58712
#trivial
Change 4100438 by Dan.Oconnor
Mirror 4083455 from Dev-Framework
Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up
#jira UE-46834
Change 4100374 by Mike.Zyracki
Fix for bad Camera Rotation Imported From Maya
Main issue was that we don't support RotationOrders that aren't XYZ.
We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
Currently recommendation is to always just zero everything out.
Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.
#jira UE-59116
Change 4100310 by Jamie.Dale
Fixed ExecutePythonScript failing when passing file arguments
#jira none
Change 4100305 by Mike.Zyracki
Fix for performance issues with motion trails.
Found that the main issue was the GetRefTM call. Refactored the code so that we only call that once per tick, instead of up to 4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys. Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.
Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.
#jira UE-58712
Change 4100290 by Ben.Marsh
Prevent schema being added as a build product twice.
#jira UE-59757
Change 4100259 by Jeff.Fisher
Duplicating in Release-4.20:
Change: 4087159
UE-58249 Late update has FP precision issues on PSVR
-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation. This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.
#review-4087096
#jira UE-58249
Files:
//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71
Change 4100170 by Brandon.Schaefer
Need dump_syms and BreakpadSymbolEncoder in installed builds
#jira UE-59500
Change 4100070 by Richard.Wallis
Speculative fix for crash in macOS AppKit NSPersistentUIManager. Disable NSWindow application resume feature per window - we are not using it anyway. OS system may still be called but hopefully this reduces the amount of work it is doing. There still seems to be some generic data getting written however.
There is also an undocumented *NSDisablePersistence* plist key. Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.
#jira UE-52294
Change 4099999 by James.McNatton
Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none
Change 4099996 by Ben.Marsh
Build: Merge changes to support AutoSDKs on Mac.
#jira UE-59574
Change 4099991 by Jamie.Dale
Updated wrapped enums to be more consistent with native Python enums
- Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
- Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
- Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
- Wrapped enums may now be iterated (like native Python enums).
- Wrapped enums now return a length based on their number of entries (like native Python enums).
- ScriptName meta-data can now be used with enum entries.
#jira none
Change 4099973 by Mitchell.Wilson
Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
#jira UE-59744
Change 4099913 by Jamie.Dale
Fixed some places that were calling LoadModuleChecked during shutdown
#jira UE-59482
Change 4099905 by Jamie.Dale
Fixed InitializeAvailableCultures missing some languages
#jira UE-59349
Change 4099879 by Jamie.Dale
Fixed a crash when a Blueprint with variable watches was destroyed
#jira UE-59117
Change 4099874 by Mitchell.Wilson
Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
#jira UE-59745 UE-59744
Change 4099860 by Benn.Gallagher
Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.
#jira UE-57337
Change 4099819 by Richard.Wallis
Fix for Timed Notifies scrub incorrectly on timeline on Mac. This is also an issue if running in Hi DPI on windows.
#jira UE-55678
Change 4099808 by Jamie.Dale
Fixed crash when content hot-reloading the build data for the currently loaded world
#jira UE-59163
Change 4099773 by Jamie.Dale
Fixed crash after attempting to load a package that is too new
#jira UE-58121
Change 4099759 by Jamie.Dale
Fixed material editor crash if reloading a texture used by the material
#jira UE-57762
Change 4099744 by Jamie.Dale
Fixed placeholder string table entries being considered identical as their entry may appear in the future
#jira UE-58987
Change 4099735 by Jurre.deBaare
Crash importing specific Alembic file
#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
#jira UE-59095
Change 4099612 by Michael.Trepka
Reverted change that delays crash reporting initialization for CEF on Mac
#jira UE-57378
Change 4099564 by Guillaume.Abadie
Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.
#jira none
Change 4099557 by Guillaume.Abadie
Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.
#jira none
Change 4099549 by Guillaume.Abadie
Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.
#jira none
Change 4099544 by Guillaume.Abadie
Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)
#jira UE-58051
Change 4099540 by Richard.Wallis
Fix for PIE HighDPI touch location.
#jira UE-59015
Change 4099516 by Richard.Wallis
speculative fix for FSlateMacMenu::UpdateMenu() crashes. I've not been able to reproduce this. All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q. I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map. This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.
Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.
My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.
#jira UE-57012
Change 4099511 by Max.Chen
Fix CIS
#jira UE-59739
Change 4099486 by Richard.Wallis
Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges(). I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd. This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().
#jira UE-55071
Change 4099392 by Andrew.Rodham
Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled
#jira UE-59138
Change 4099386 by Ben.Marsh
Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.
#jira UE-58692
Change 4099382 by Benn.Gallagher
Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
#jira UE-55780
Change 4099363 by Jason.Bestimt
Fix for HMD errors
#jira UEVR-1191
Change 4099307 by Richard.Wallis
Clone of CL 4077664: Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(). Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().
#jira UE-51698
Change 4099289 by Richard.Wallis
Clone of CL 4059587: Fix for Sequencer window opening behind Main Window. FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window. On Mac this makes the world outliner / main window move back in front of the sequencer window. This change swaps around those operations. Reopen the world outliner then add the sequencer window. Outliner info still changes it's visible data as before.
Tested with World Outliner docked and undocked.
#jira UE-55280
Change 4099279 by Richard.Wallis
Fix for crash in Mac editor copying unusual characters in the output log.
Current operation is unsafe. String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.
#jira UE-57774
Change 4099256 by Richard.Wallis
Fix for menu options not updating immediatly after creating or removing collision on Mac. We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up. However these can be missed on a mouse menu selection (mouse up doesn't cover this case). This change makes sure that the menu cache updates after a menu item execute operation has been called.
#jira UE-57049
Change 4098972 by Max.Chen
Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.
#jira UE-59726
Change 4098967 by Mike.Zyracki
Turn off turning off optimization for geometry sequencer tracks.
#trivial
#jira UESEQ-372
Change 4098942 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098906 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098881 by Max.Chen
Fix CIS
#jira UESEQ-372
Change 4098667 by Marcus.Wassmer
Duplicate 4098665. Fix d3ddebug error on launch
#jira UE-59693
Change 4098542 by Mike.Zyracki
Geometry Cache Sequencer Support for 4.20
#jira UESEQ-372
Change 4098373 by Jason.Bestimt
Misc Vulkan/Lumin fixes from Dev-VR
CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015
#JIRA: UE-59722
Change 4098334 by Ethan.Geller
[Release 4.20] #jira UE-54812 fix up include path.
Change 4098286 by Matt.Kuhlenschmidt
Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.
#jira UE-55792
Change 4098284 by Brandon.Schaefer
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4098247 by Michael.Trepka
Fixed a crash in FMacApplication::ProcessMouseUpEvent()
#jira UE-57859
Change 4098219 by Matt.Hoffman
Linux CIS Fixes for TOptional
#trivial
#jira None
Change 4098209 by Matt.Kuhlenschmidt
Disable "restart detection" reimport test until we can reproduce the issue. Its not detecting a legit issue
#jira UE-59710
Change 4098132 by Ben.Marsh
Add "Nuget Package Manager" to the list of required components for compiling the engine.
#jira UE-59376
Change 4098110 by Ben.Marsh
Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.
#jira UE-59150
Change 4098088 by Matt.Kuhlenschmidt
Fix ensure starting tutorials in any editor project
#jira UE-59714
Change 4098011 by Ben.Marsh
Fix editor targets not being rebuilt when packaging from an installed engine build.
#jira UE-58652
Change 4098006 by Matt.Hoffman
Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.
#jira UE-58270
Change 4097995 by Ryan.Vance
#jira UEVR-1190
Disable rhi thread when running with vulkan on oculus android platforms.
Change 4097981 by Ben.Marsh
Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.
#jira
Change 4097963 by Ben.Marsh
Write the exception callstack to the UBT log when thrown reading a makefile.
#jira UE-59222
Change 4097940 by Ben.Marsh
Prevent source folder being added as a private include path if it does not exist.
#jira UE-59145
Change 4097927 by Ethan.Geller
[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran
Change 4097905 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
#jira UE-59709
Change 4097898 by Ryan.Vance
#jira UEVR-1191
Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.
Change 4097855 by Ben.Marsh
Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.
#jira UE-58593
Change 4097850 by Ben.Marsh
Fix UE4Game compile errors.
#jira UE-58593
Change 4097849 by Marcin.Undak
Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)
- Fixed by BrandonS.
#jira UE-59484
(merged from Dev-Console)
Change 4097844 by Ben.Marsh
TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.
#jira UE-58593
Change 4097840 by Ben.Marsh
Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).
#jira UE-58593
Change 4097831 by Ben.Marsh
TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.
#jira UE-58593
Change 4097825 by Marcin.Undak
UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)
#jira UE-58923
Change 4097783 by Ethan.Geller
[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran
Change 4097767 by Matt.Kuhlenschmidt
Fix crash processing mainframe keybindings during slow tasks
#jira UE-55765
Change 4097745 by Ben.Marsh
Fixes to UpdateCopyright for latest source.
#jira
Change 4097743 by mason.seay
Test map for Virtual Camera Focus testing
#jira UE-29618
Change 4097723 by Matt.Kuhlenschmidt
Fix crash when importing assets in a folder containing an invalid character for a package name
#jira UE-59166,UE-44071
Change 4097713 by Max.Chen
Sequencer: Fix missing buttons in the particle toggle track.
Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.
#jira UE-59542
Change 4097683 by Max.Chen
Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin
#jira UE-59568
Change 4097681 by Krzysztof.Narkowicz
Missing file for CL 4097655: "Added subsurface profile for eye shading model."
#jira UE-59708
Change 4097655 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira UE-59708
Change 4097634 by Max.Chen
Sequencer: Add checks for valid sequencer.
#jira UE-59287
Change 4097627 by Max.Chen
Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange
#jira UE-58343
Change 4097625 by Max.Chen
Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.
#jira UE-58688
Change 4097620 by Max.Chen
Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence
#jira UE-53186
#jira UE-59664
Change 4097616 by Max.Chen
Text Render Component: Fix crash on shutdown.
#jira UE-58116
Change 4097607 by Max.Chen
Sequencer: Use non-throttled spin box for numeric key editor
#jira UE-59219
Change 4097606 by Max.Chen
Sequencer: Check for a valid segment ID in EvaluateStatic
#jira UE-57596
Change 4097538 by Marc.Audy
PR #4755: Fix minor typo in comment (Contributed by Marenz)
#jira UE-59671
Change 4097518 by Marcin.Undak
UBT: fix for platforms overriding project generation (merge from Dev-Console)
#jira UE-59485
Change 4097417 by Benn.Gallagher
Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.
#jira UE-57097
Change 4097407 by Jason.Bestimt
Changing MLSDK missing callback to launch MagicLeap URL
#JIRA: UE-58631
Change 4097404 by Jason.Bestimt
Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)
#JIRA: UE-58864
Change 4097296 by Matt.Kuhlenschmidt
Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi
#jira UE-58983
Change 4097284 by Matt.Kuhlenschmidt
PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)
#jira UE-57562
Change 4097275 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097261 by Matt.Kuhlenschmidt
Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249
#jira 0
Change 4097249 by Matt.Kuhlenschmidt
Fix crash if slate shuts down while a drag drop operation is in progress
#jira UE-58888
Change 4097165 by Nick.Shin
#jira UE-58441 HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS
Change 4097163 by Nick.Shin
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4096984 by Ben.Marsh
Merging changes to //UE4/Main after 4.20 stream was created.
#jira
Change 4096873 by Ben.Marsh
Fix compile errors for UE4Editor when Oodle SDK is not available.
#jira
Change 4095992 by Ben.Marsh
Update stream for analytics.
#robomerge none
#jira
Change 4111924 by Ben.Marsh
Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.
#jira UE-59891
Change 4106160 by Ben.Marsh
UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.
#jira UE-59691
Change 4101702 by Mark.Satterthwaite
Duplicate 4098660 & 4101604
Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
- Changing the GPU will ask you to restart.
- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.
Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.
#jira UERNDR-404
Change 4101598 by Andrew.Grant
Changed RemoteSession background to something more generic.
#jira UE-59062
Change 4101553 by Mark.Satterthwaite
Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647
- Fixes LLM double-counting in MetalRHI.
- MetalProfiler improvements.
#jira NA
Change 4099406 by Ben.Marsh
Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.
#jira UE-57801
[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
|
|
|
const int64 TmpVal = (int64)Val;
|
|
|
|
|
return PythonizeEnumEntry(TmpVal, EnumType, OutPyObj, SetErrorState);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
/** Conversion for property instances (including fixed arrays) - ValueAddr should point to the property data */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult NativizeProperty(PyObject* PyObj, const UProperty* Prop, void* ValueAddr, const FPyWrapperOwnerContext& InChangeOwner = FPyWrapperOwnerContext(), const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeProperty(const UProperty* Prop, const void* ValueAddr, PyObject*& OutPyObj, const EPyConversionMethod ConversionMethod = EPyConversionMethod::Copy, PyObject* OwnerPyObj = nullptr, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** Conversion for single property instances - ValueAddr should point to the property data */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult NativizeProperty_Direct(PyObject* PyObj, const UProperty* Prop, void* ValueAddr, const FPyWrapperOwnerContext& InChangeOwner = FPyWrapperOwnerContext(), const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeProperty_Direct(const UProperty* Prop, const void* ValueAddr, PyObject*& OutPyObj, const EPyConversionMethod ConversionMethod = EPyConversionMethod::Copy, PyObject* OwnerPyObj = nullptr, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/** Conversion for property instances within a structure (including fixed arrays) - BaseAddr should point to the structure data */
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3821754 by Jamie.Dale
[Python] Class property conversion now goes through NativizeClass/PythonizeClass
This allows it to coerce from Python wrapped object types
Change 3833107 by Patrick.Boutot
Added functions to fill an existing DataTable from an existing CSV/JSON file.
Change 3835044 by Aaron.Carlisle
Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.
Change 3835466 by Patrick.Boutot
Hide function from Python that need special compile command to be executed by the VM.
Change 3839237 by Jamie.Dale
Added a way to inspect the full chain of properties that are currently being serialized by an archive
You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).
Change 3839974 by Jamie.Dale
Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else
Change 3842311 by Jamie.Dale
Fixing potential null level assert
Change 3842313 by Jamie.Dale
Updated settings editor to handle external properties
Change 3842316 by Jamie.Dale
Allowing a console command to be given to GEditor/GEngine even if there's a player
CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.
Change 3842867 by Jamie.Dale
Added a way to generate diffs from editor transactions
The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.
These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.
Change 3844428 by Patrick.Boutot
Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.
Change 3845966 by Jamie.Dale
Added support for minimal game RPC worlds
These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)
Change 3848844 by Patrick.Boutot
Expose EComponentMobility to blueprint.
Change 3854616 by Patrick.Boutot
Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.
Change 3856650 by Jamie.Dale
Fixed a bug where transaction finalization could miss changes since the last snapshot
Change 3864951 by Patrick.Boutot
Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.
Change 3867158 by JeanMichel.Dignard
UBT
- Added the ability for dll programs to export symbols.
#jira UEENT-541
Change 3872342 by Jamie.Dale
Merging static analysis fixes from 4.19
Change 3879305 by Jamie.Dale
Improved the processing of py files from exec commands
The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.
Change 3879306 by Jamie.Dale
Added a minimal commandlet for invoking Python scripts
Change 3881631 by Jamie.Dale
Added basic RTTI to Python meta-data types
Change 3885384 by Jamie.Dale
[Python] Prevent glue code using reserved names
Change 3888957 by Patrick.Boutot
In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.
Change 3888961 by Patrick.Boutot
Fix FInterval::IsValid return type.
Change 3888980 by Patrick.Boutot
Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.
Change 3889165 by Patrick.Boutot
Fix build. Missing include for Timespan. Introduce with CL 3888980.
Change 3889261 by Jamie.Dale
[Python] Fixing some more name conflicts in generated code
Change 3889504 by Darren.Pegg
Add option to change PreferredPixelFormat
Change 3891193 by Patrick.Boutot
Fix build. Missing include for Interval. Introduce with CL 3888980.
Change 3897108 by Patrick.Boutot
TTinterval use it own traits. Create a Interval traits for Timespan.
#jira UEENT-947
Change 3899669 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
Change 3900692 by Jamie.Dale
Removed some boilerplate associated with wrapping a basic type to Python
You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)
Change 3901066 by conan.reis
UE4 editor script bindings (Cobra) and helper functions for version control
- exposed SourceControl class with common source control methods and associated SourceControlState structure
- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
- commands store any errors in a shared error text object which is optionally printed to the error log
- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.
Change 3901388 by Jamie.Dale
Minimal Slate hooks for Python
Change 3901456 by Jamie.Dale
Added missing file
Change 3901549 by Jamie.Dale
Removing some more Windows defines that were causing build issues
Change 3904518 by conan.reis
Source Control
- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider
Change 3905612 by Francis.Hurteau
Optimize RemoveDuplicates somewhat using a TSet
#jira UEENT-217
Change 3912626 by Jamie.Dale
Fixed ShouldExcludeDerivedClasses option not working
RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.
Change 3917739 by Jamie.Dale
Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget
Change 3917744 by Jamie.Dale
Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name
Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.
Change 3918832 by Jamie.Dale
Removed field iteration from Python function calls
We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.
Change 3920648 by Patrick.Boutot
Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.
Change 3921396 by Jamie.Dale
Split up the generated type data to correspond to the type being wrapped
A lot of types can just use the minimal set, but classes and structs have some extra data.
Change 3921619 by conan.reis
- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
- also added result info to FSourceControlWindows::PromptForCheckin()
#jira UE-55255
Change 3921624 by conan.reis
Removed Source Control common files from pre compiled header
- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
- remaining files have includes changed to accomodate
Change 3921958 by conan.reis
Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619
Change 3922740 by conan.reis
Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
They were previously removed in CL3921624
Change 3923375 by Jamie.Dale
Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings
Change 3926547 by Jamie.Dale
Added support for struct method "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.
Change 3927050 by conan.reis
Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers
#JIRA UE-55256
Change 3929268 by conan.reis
- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
- removed Perforce error message about file folders outside of the workspace client mappings
- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()
#JIRA UE-55254
Change 3931024 by Rex.Hill
Expose FBX and Texture import to python
Change 3931273 by Rex.Hill
Hide re-import slate notification pop-up during python automated asset import
Change 3931368 by Jamie.Dale
Stopped bools coercing to numeric types in Python nativization
Change 3931374 by Jamie.Dale
Added support for struct math operator "hoisting"
This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.
Change 3932586 by Rex.Hill
Removed file read into unused memory buffer during Fbx import
Change 3934308 by Jamie.Dale
Added a public interface for the Python plugin
Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.
Change 3935088 by conan.reis
- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.
#JIRA UE-55257
Change 3936668 by Rex.Hill
#jira UE-55985
Avoid re-allocation of memory buffer holding file bytes during asset import
Change 3940596 by Rex.Hill
#jira UE-55989 Optimize skeletal mesh import performance scaling
Overlapping vertex check was O (N^2)
100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds
Change 3942629 by Rex.Hill
#jira UE-55995 Read fbx file only once during import
Fixes a memory leak of FbxScene and reduces wait time during import.
Change 3942884 by Rex.Hill
Python asset import can now customize destination asset name
Change 3946278 by Jamie.Dale
Added stricter conversion for math operator arguments
PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.
This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).
Change 3948455 by Jamie.Dale
Added generic Tick function to FPythonScriptPlugin
This can also handle init logic for after the engine is fully initialized
Change 3948888 by Jamie.Dale
Added settings for the Python plugin
You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).
Change 3948982 by Jamie.Dale
Fixed Python 3 build error caused by CObject being removed in Python 3.2
Change 3949614 by Francis.Hurteau
Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
#jira UEENT-1053
Change 3950829 by Rex.Hill
Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION
Change 3953452 by Jamie.Dale
Fixed some dependencies
Change 3953645 by Jamie.Dale
Fixed Python parameter packing treating bool output paramers as potential return values
void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.
Change 3953850 by Jamie.Dale
Fixed doc string generation for a function with multiple output paramters and no return value
Change 3954279 by Jamie.Dale
Initial support for exposing deprecated properties and functions to Python
This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.
Change 3954922 by Rex.Hill
Expose UnloadPackages to python
Change 3955209 by Jamie.Dale
Initial support for exposing deprecated classes to Python
Change 3955248 by Jamie.Dale
Added a way to load Unreal modules via Python
unreal.load_module("modulename")
Change 3955561 by Rex.Hill
Expose asset export to python
Change 3956068 by Rex.Hill
Linux compile fix.
Change 3960449 by Rex.Hill
Fix automated test using bCombineMeshes
Change 3960495 by Patrick.Boutot
Add a temporary menu to show the MetaData of an asset.
The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.
Change 3961599 by Rex.Hill
Reduced peak memory during import of meshes related to duplicate vertex tracking
Change 3962104 by Rex.Hill
Disable import mesh overlapping corners memory optimization to because it can change uv generation
Change 3962507 by Rex.Hill
Fix uv generation
Change 3965285 by Rex.Hill
Add support for FBX export as ASCII
#jira UE-56465
Change 3965287 by Rex.Hill
Forgotten file, fbx export as ascii
Change 3966772 by Simon.Tourangeau
Fix MaterialExpressionFunctions for ExternalTexture support
Change 3967014 by Jamie.Dale
Added a way to get the CDO in Python
Wrapped objects now have a get_default_object class method
Change 3967151 by Jamie.Dale
Added stats to track Python generation time
Change 3968006 by Simon.Therriault
Media Samples
- Removed Locks and Min/Max SampleTime from queues
- Added methods to fetch NextSampleTime and SampleCount in queues
- Added MediaSource base class for players that want to be time synchronized
#jira UEENT-948
Change 3969119 by Patrick.Boutot
Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.
[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
|
|
|
FPyConversionResult NativizeProperty_InContainer(PyObject* PyObj, const UProperty* Prop, void* BaseAddr, const int32 ArrayIndex, const FPyWrapperOwnerContext& InChangeOwner = FPyWrapperOwnerContext(), const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
|
|
|
|
FPyConversionResult PythonizeProperty_InContainer(const UProperty* Prop, const void* BaseAddr, const int32 ArrayIndex, PyObject*& OutPyObj, const EPyConversionMethod ConversionMethod = EPyConversionMethod::Copy, PyObject* OwnerPyObj = nullptr, const ESetErrorState SetErrorState = ESetErrorState::Yes);
|
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3797699)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard
============================
MAJOR FEATURES & CHANGES
============================
Change 3770717 by Simon.Tourangeau
Fix Blank Enterprise template project creation
Change 3773186 by Simon.Tourangeau
Fix asset migration to correctly handle the migration of content from Content Plugins
Change 3773230 by JeanLuc.Corenthin
Adding new material asset for CAD importer
Removing old material assets for CAD importer
Change 3774391 by JeanMichel.Dignard
Added support for IES asymmetrical light profile
- IES textures are now 2D (256*256) and the shader will use the light tangent to sample the texture.
- Point light tangent is now the Z axis to match the spot lights. Tube shaped point lights will be automatically rotated to compensate for this change. Dynamically generated point lights with a source length will need to have a 90 degrees pitch added to their orientation.
#jira UEENT-55
Change 3775668 by JeanMichel.Dignard
Fixed linux and mac editor builds. Use FVector::DotProduct instead of Dot3 since we're using FVectors.
Change 3781147 by Jamie.Dale
[Python] Prevent the Xcode version of Python being used by default
Change 3781991 by JeanMichel.Dignard
Send the IES texture profile to lightmass in a separate TArray to fix warning 6262 about using too much stack during static analysis.
Change 3783479 by Simon.Tourangeau
Fix NewProjectWizard crash if starter content was enabled
#jira UEENT-635
Change 3784279 by Jamie.Dale
[Python] Added ScopedEditorTransaction and an editor specific module
Change 3787566 by JeanLuc.Corenthin
Fixed issue with display of units which were not reflecting the project settings when enbling unit display.
Got Jamie Dale to help me find the correct solution to this problem: a lambda function.
Thanks, Jamie!
Change 3788178 by Martin.Sevigny
Make sure that FLightPropagationVolume is properly initialized before using it. Can currently trigger a check in FProjectedShadowInfo::SetupWholeSceneProjection because of an uninitialized BoundingBox if LPVIntensity is saved at 0.
Solves: https://udn.unrealengine.com/questions/354040/switching-gi-lpvs-at-runtime.html
Change 3788301 by JeanLuc.Corenthin
On behalf of Anousack:
UE assets necessary to properly handle Cropped procedural textures.
#jira UEENT-522
Change 3789146 by Martin.Sevigny
Bringing back the LPVIntensity test as per MarcusW review.
Change 3789467 by Patrick.Boutot
Add Analytics to PythonScriptPlugin.
Change 3789473 by Patrick.Boutot
Add a slow task dialog when executing a Python script.
Change 3790809 by Patrick.Boutot
Add GIsRunningUnattendedScript. If true, we are running an editor script that should not prompt any dialog modal. The default value of any model will be used. This is used when running a Blutility or script like Python and we don't want an OK dialog to pop while the script is running. Could be set for commandlet with -RUNNINGUNATTENDEDSCRIPT
Change 3790970 by Patrick.Boutot
Add SavePackages with Dialog version in EditorLoadingAndSavingUtils. Refactor some internal save & checkout function in FileHelpers to prevent dialogs from showing when it was not requested.
Change 3790976 by Patrick.Boutot
Add RenameAssetsWithDialog to AssetTools. All previous implementation now use the WithDialog version.
Allow DeleteObject & DuplicatedAsset to be completed without dialog.
Change 3791597 by Simon.Tourangeau
Fix custom window positions in "windowed mode"
#jira UE-52873
Change 3791633 by Patrick.Boutot
Expose to Blueprint the actor' label and folder path.
Change 3791634 by Patrick.Boutot
Change size of the OutputLog's SuggestionList box.
Change 3791637 by Patrick.Boutot
Make sure the suggestions panel is closed before executing the command. Some command wants to run dialog and the suggestions panel may prevent it from opening.
Change 3791661 by Jamie.Dale
[Python] Fixed a bug where we could return an object of the incorrect type from the cache
This could happen if the same instance pointer actually represented two different things, such as when a struct had a different struct as its first member as both of those have the same address, but reflect two different things.
We now treat the type as significant in the cache, and only return something if it matches both the instance and the type.
#jira UEENT-651
Change 3794968 by Patrick.Boutot
Extend File menu to include Python menu. Save the last 10 scripts executed in the user config.
Change 3795084 by Jamie.Dale
[Python] Added a way to purge all references to a given UObject (or set of UObjects) from any living Python objects
Change 3795324 by Jamie.Dale
[Python] Ensure that Python objects referencing the current world/level are purged when the active world/level is changed
This is needed to avoid a fatal assert about a GC leak
#jira UEENT-658
Change 3796248 by Jamie.Dale
FilterAssetDataWithNoTags no longer implicitly removes localized assets
Change 3773185 by Simon.Tourangeau
Move DatasmithImporter plugin content to a content-only plugin under Engine/Plugins/Enterprise/DatasmithContent
This makes it possible to load content created with the DatasmithImporter without having access to Enterprise plugins.
#jira UEENT-544
Change 3790982 by Patrick.Boutot
Set GIsRunningUnattendedScript to EditorScriptUtilities callable functions.
Load level without a prompt.
Change 3791539 by Jamie.Dale
[Python] Added ScriptName and ScriptNoExport meta-data to allow control over how things are exposed to scripts
ScriptName can be used to override the basic name we use when converting classes, structs, enums, properties, and functions to their Python names. It has been used here to remove all the K2_ and BP_ prefixes, and to remove Kismet and Blueprint from some library names.
ScriptNoExport can be used to prevent a property or function from exporting to Python. It has been used here to prevent exporting some deprecated functions that had names that would conflict if we stripped off the K2_ prefix of some newer functions (there were only a handful of these cases).
Change 3773163 by Patrick.Boutot
Improve ConvertActors implementation. Check if the StaticMesh path is valid and do not use dialog in the case we are converting a Brush to a StaticMesh.
Change 3776401 by Patrick.Boutot
Add function to spawn and destroy an actor in editor mode. Spawn use the Place functionality of the editor, you can spawn from an asset, class, archetype or factory.
Change 3778137 by Patrick.Boutot
Add 2 functions to EditorAssetLibrary. GetPathNameForLoadedAsset, wrapper for UObject.GetPathName(). FindPackageReferencersForAsset similar to AssetRegistry.FindPackageReferencer. It will load the assets and all the referencers to confirm the reference.
EditorAssetLibrary now support full path.
Change 3778139 by Patrick.Boutot
Update example data for EditorScriptingUtilities.
Change 3778768 by Patrick.Boutot
Update EditorScriptingUtilities py file with the new naming convention.
Change 3779291 by Patrick.Boutot
Remove const& on TSubLassOf because Blueprint do not show the Pick tool with it.
Update py script & blueprint to point to the new paths.
Change 3783246 by Patrick.Boutot
After review. Tech art prefer to have a filter that check the class and not have the class pass as argument for GetAllLevelActor.
Fix return type in Blueprint for SpawnActorFromClass.
Change 3789367 by Patrick.Boutot
Gets all TagValues associated with an asset as strings value.
Change 3789438 by Patrick.Boutot
Split EditorLevelLibrary into EditorFilterLibrary. All filter function are now in their own modules.
Change 3789489 by Patrick.Boutot
Update script examples with copyright and with the split from EditorFilterLibrary.
Change 3790980 by Patrick.Boutot
Prevent all dialog modal from showing up when running a Python script via command line.
Change 3790984 by Patrick.Boutot
Fix typo in content_browser.py. Delete asset with the loaded version. Fix double values initialized by float.
[CL 3797855 by Simon Tourangeau in Main branch]
2017-12-08 16:18:46 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Helper function used to emit property change notifications as value changes are made
|
|
|
|
|
* This function should be called when you know the value will actually change (or know you want to emit the notifications for it changing) and will do
|
|
|
|
|
* the pre-change notify, invoke the passed delegate to perform the change, then do the post-change notify
|
|
|
|
|
*/
|
|
|
|
|
void EmitPropertyChangeNotifications(const FPyWrapperOwnerContext& InChangeOwner, const TFunctionRef<void()>& InDoChangeFunc);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif // WITH_PYTHON
|