Commit Graph

124 Commits

Author SHA1 Message Date
joe conley
dd22bf997f Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main) [at] 8782600
#rb
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 8783278 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR) (v427-8887818)

[CL 8891540 by joe conley in Dev-VR branch]
2019-09-19 13:46:18 -04:00
Marc Audy
8df336162c Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main) @ 8782600
#rb
#rnx

[CL 8783278 by Marc Audy in Main branch]
2019-09-17 19:12:19 -04:00
chris gagnon
5ee508d57f Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: chris.gagnon
#ROBOMERGE-SOURCE: CL 8614014 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR) (v409-8614070)

[CL 8634524 by chris gagnon in Dev-VR branch]
2019-09-11 08:23:28 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
jeanmichel dignard
e7d36d874a Put back CanContainContent: true in PythonScriptPlugin as it's required to parse the python scripts in the content folder.
#jira UE-79509
#rb none
#rnx
[FYI] Bob.Tellez

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jeanmichel.dignard
#ROBOMERGE-SOURCE: CL 8384193 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR) (v404-8404397)

[CL 8467487 by jeanmichel dignard in Dev-VR branch]
2019-09-04 04:55:19 -04:00
bob tellez
108e12e978 #UE4 Disable CanContainContent in a few plugins that have no assets or maps so they dont appear in the content browser.
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 8352044 via CL 8359277 via CL 8360258
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR) (v404-8404397)

[CL 8451507 by bob tellez in Dev-VR branch]
2019-09-03 21:08:55 -04:00
Joe Graf
041782c74a MERGE: Fixed the order that the return value is pushed into the list of parameters for a UFunction that maps to a Python function without a native super function backing it
- This fixes out params being at the wrong offsets causing the copy of the data to look at the wrong locations

#rb: merge

[CL 8385886 by Joe Graf in Dev-VR branch]
2019-08-30 14:39:50 -04:00
JeanMichel Dignard
8fd3d991e1 Put back CanContainContent: true in PythonScriptPlugin as it's required to parse the python scripts in the content folder.
#jira UE-79509
#rb none
#rnx
#fyi Bob.Tellez

[CL 8384193 by JeanMichel Dignard in Main branch]
2019-08-30 11:48:45 -04:00
bob tellez
bd41767067 #UE4 Disable CanContainContent in a few plugins that have no assets or maps so they dont appear in the content browser.
#ROBOMERGE-SOURCE: CL 8352044 via CL 8359277
#ROBOMERGE-BOT: (v401-8057353)

[CL 8360258 by bob tellez in Main branch]
2019-08-27 22:01:54 -04:00
Joe Graf
d6b06b64f8 MERGE: Fixed Python defined ufunctions having the parameters reversed due to how properties are added to functions
#rb: merge

[CL 8232114 by Joe Graf in Dev-VR branch]
2019-08-23 14:01:22 -04:00
Joe Graf
75d6f5c607 MERGE: Removed the find field to determine if a function is already present in the python class' hierarchy
#rb: merge

[CL 8214007 by Joe Graf in Dev-VR branch]
2019-08-22 15:09:19 -04:00
Joe Graf
0d278d7710 MERGE
Added error handling for a missing self paramter in a python function that is exposed to the engine
Added missing class flags that allow a python object to expose a python function as a BP node without having to be present in the native base class
Update the Blueprint action database when a python class is loaded after the list has already been populated

#rb: merge

[CL 8214003 by Joe Graf in Dev-VR branch]
2019-08-22 15:08:24 -04:00
Joe Graf
88114ef439 MERGE: Fixed python UFunctions not showing up in the owning UClass' field list due to missing link list insertion
#rb: merge

[CL 8213980 by Joe Graf in Dev-VR branch]
2019-08-22 15:07:39 -04:00
jamie dale
025f1e6e6c Fixed crash calling Python UObject function override with no args
#jira UE-75449
#rb Tim.Gautier
#rnx
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 8096673 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v401-8057353)

[CL 8096712 by jamie dale in Main branch]
2019-08-16 14:33:27 -04:00
jamie dale
d4ccda63a2 Fixed localization gather warnings
#jira
[FYI] Michelle.Zhao
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 8030368 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v398-8029740)

[CL 8030370 by jamie dale in Main branch]
2019-08-14 10:39:15 -04:00
johan duparc
541e8d4503 Fix typo (missing ellipsis) in PythonScriptPlugin menu entry (File > Execute Python Script)
#rb Jamie.Dale
#jira none

#ROBOMERGE-SOURCE: CL 7558761 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)

[CL 7558771 by johan duparc in Main branch]
2019-07-23 13:57:18 -04:00
brandon schaefer
30c2035930 Get a DLLHandle for Linux as well when loadind in the python module
#jira UE-76551
#rb Jamie.Dale

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 7094112 in //UE4/Release-4.23/... via CL 7094113
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7126079 by brandon schaefer in Dev-Anim branch]
2019-06-21 02:20:36 -04:00
jamie dale
9a659b614c CIS fix
#jira
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064757 in //UE4/Release-4.23/... via CL 7064758
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124343 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:44 -04:00
jamie dale
4a8c78b719 Added additional tests for Python-generated overrides and non-POD data (re: CL# 7064650)
#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064660 in //UE4/Release-4.23/... via CL 7064661
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124303 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:32 -04:00
jamie dale
c9cd40e406 Calling a Python-generated function no longer crashes when called from Blueprints, or with non-POD output data
The old logic for dealing with the parameters within the Unreal function thunk (UPythonGeneratedClass::CallPythonFunction and UPythonCallableForDelegate::CallPythonNative) assumed that Stack.Locals would be set-up correctly for input, and could be written to for output. This isn't true, as Stack.Locals is populated by a memcpy in UObject::ProcessEvent (so isn't safe to write to for non-POD data), and Blueprints just pass along their existing frame data since they skip the call to ProcessScriptFunction (as Python generated functions are marked FUNC_Native).

This change adds a common thunk processing function (PyGenUtil::InvokePythonCallableFromUnrealFunctionThunk) which is used when calling into Python from an Unreal function thunk. This function steps the data off the stack frame for each property, copying input data to Python, and building the output chain (FOutParmRec) from output data addresses. This matches what the UHT generated thunk does for native functions (via P_GET_PROPERTY and P_GET_PROPERTY_REF), as well as what ProcessScriptFunction does for functions with Blueprint bytecode.

#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb Dan.OConnor

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064650 in //UE4/Release-4.23/... via CL 7064651
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124296 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:29 -04:00
brandon schaefer
8789a57923 Get a DLLHandle for Linux as well when loadind in the python module
#jira UE-76551
#rb Jamie.Dale

#ROBOMERGE-SOURCE: CL 7094112 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7094113 by brandon schaefer in Main branch]
2019-06-19 11:30:34 -04:00
jamie dale
d5647a15e8 CIS fix
#jira
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 7064757 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7064758 by jamie dale in Main branch]
2019-06-18 13:03:52 -04:00
jamie dale
d47d2b523b Added additional tests for Python-generated overrides and non-POD data (re: CL# 7064650)
#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 7064660 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7064661 by jamie dale in Main branch]
2019-06-18 12:52:17 -04:00
jamie dale
f51b5804bf Calling a Python-generated function no longer crashes when called from Blueprints, or with non-POD output data
The old logic for dealing with the parameters within the Unreal function thunk (UPythonGeneratedClass::CallPythonFunction and UPythonCallableForDelegate::CallPythonNative) assumed that Stack.Locals would be set-up correctly for input, and could be written to for output. This isn't true, as Stack.Locals is populated by a memcpy in UObject::ProcessEvent (so isn't safe to write to for non-POD data), and Blueprints just pass along their existing frame data since they skip the call to ProcessScriptFunction (as Python generated functions are marked FUNC_Native).

This change adds a common thunk processing function (PyGenUtil::InvokePythonCallableFromUnrealFunctionThunk) which is used when calling into Python from an Unreal function thunk. This function steps the data off the stack frame for each property, copying input data to Python, and building the output chain (FOutParmRec) from output data addresses. This matches what the UHT generated thunk does for native functions (via P_GET_PROPERTY and P_GET_PROPERTY_REF), as well as what ProcessScriptFunction does for functions with Blueprint bytecode.

#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb Dan.OConnor

#ROBOMERGE-SOURCE: CL 7064650 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7064651 by jamie dale in Main branch]
2019-06-18 12:51:14 -04:00
Lina Halper
888010b766 Copying //UE4/Dev-Enterprise [at] cl 6890376 to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden
#rb none

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jeanmichel.dignard
#ROBOMERGE-SOURCE: CL 6890764 in //UE4/Main/...
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v366-6836689)

[CL 6942267 by Lina Halper in Dev-Anim branch]
2019-06-11 16:56:39 -04:00