Skip to content

Commit fc36b3a

Browse files
author
ikrima
committed
FIX: Making standalone builds compile
-Adding missing includes for standalone builds -Moving native enum shims into editor only
1 parent 8c653fc commit fc36b3a

File tree

6 files changed

+161
-117
lines changed

6 files changed

+161
-117
lines changed

Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ static PyObject *py_ue_iconsole_manager_register_command(PyObject *cls, PyObject
560560
return PyErr_Format(PyExc_Exception, "console object \"%s\" already exists", key);
561561
}
562562

563-
TSharedRef<FPythonSmartConsoleDelegate> py_delegate = MakeShareable(new FPythonSmartConsoleDelegate);
563+
TSharedRef<FPythonSmartConsoleDelegate> py_delegate = MakeShared<FPythonSmartConsoleDelegate>();
564564
py_delegate->SetPyCallable(py_callable);
565565
FConsoleCommandWithArgsDelegate console_delegate;
566566
console_delegate.BindSP(py_delegate, &FPythonSmartConsoleDelegate::OnConsoleCommand);

Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11

22
#include "UEPyFSlateIcon.h"
3+
#include "Engine/Texture2D.h"
4+
#include "Engine/Engine.h"
35

46
static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args)
57
{

Source/UnrealEnginePython/Private/UEPyEditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1855,7 +1855,7 @@ PyObject *py_unreal_engine_editor_on_asset_post_import(PyObject * self, PyObject
18551855
if (!PyCallable_Check(py_callable))
18561856
return PyErr_Format(PyExc_Exception, "object is not a callable");
18571857

1858-
TSharedRef<FPythonSmartDelegate> py_delegate = MakeShareable(new FPythonSmartDelegate);
1858+
TSharedRef<FPythonSmartDelegate> py_delegate = MakeShared<FPythonSmartDelegate>();
18591859
py_delegate->SetPyCallable(py_callable);
18601860
FEditorDelegates::OnAssetPostImport.AddSP(py_delegate, &FPythonSmartDelegate::PyFOnAssetPostImport);
18611861
Py_RETURN_NONE;

Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <Materials/MaterialInterface.h>
1010
#include <Shader.h>
1111
#include <MaterialShared.h>
12+
#include "Materials/Material.h"
1213

1314
PyObject *py_ue_get_material_instruction_count(ue_PyUObject *self, PyObject * args)
1415
{

Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp

Lines changed: 153 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
#include "IDetailsView.h"
88
#endif
99
#include <ObjectMacros.h>
10+
#include "SSplitter.h"
11+
#include "MenuStack.h"
12+
#include "SlateFwd.h"
13+
#include "SDockTab.h"
14+
#include "RHIDefinitions.h"
15+
#include "SceneTypes.h"
1016

1117
static PyGetSetDef ue_PyESlateEnums_getseters[] = {
1218
{ NULL } /* Sentinel */
@@ -91,10 +97,10 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
9197
EnumDef = collections.namedtuple('EnumDef', 'name cppNameScope values')
9298
9399
native_enums_list = [
94-
EnumDef(name='ESizeRule',
100+
EnumDef(name='ESizeRule',
95101
cppNameScope='SSplitter::ESizeRule',
96102
values=[
97-
'SizeToContent',
103+
'SizeToContent',
98104
'FractionOfParent',
99105
]),
100106
@@ -170,50 +176,6 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
170176
'UserClickedOnTab',
171177
'SetDirectly',
172178
]),
173-
]
174-
175-
editor_native_enums_list = [
176-
EnumDef(name='EEditDefaultsOnlyNodeVisibility',
177-
cppNameScope='EEditDefaultsOnlyNodeVisibility',
178-
values=[
179-
'Show',
180-
'Hide',
181-
'Automatic',
182-
]),
183-
184-
EnumDef(name='EMovieSceneDataChangeType',
185-
cppNameScope='EMovieSceneDataChangeType',
186-
values=[
187-
'TrackValueChanged',
188-
'TrackValueChangedRefreshImmediately',
189-
'MovieSceneStructureItemAdded',
190-
'MovieSceneStructureItemRemoved',
191-
'MovieSceneStructureItemsChanged',
192-
'ActiveMovieSceneChanged',
193-
'RefreshAllImmediately',
194-
'Unknown',
195-
]),
196-
197-
EnumDef(name='EWidgetMode',
198-
cppNameScope='FWidget::EWidgetMode',
199-
values=[
200-
'WM_None',
201-
'WM_Translate',
202-
'WM_TranslateRotateZ',
203-
'WM_2D',
204-
'WM_Rotate',
205-
'WM_Scale',
206-
'WM_Max',
207-
]),
208-
209-
EnumDef(name='ECoordSystem',
210-
cppNameScope='ECoordSystem',
211-
values=[
212-
'COORD_None',
213-
'COORD_World',
214-
'COORD_Local',
215-
'COORD_Max',
216-
]),
217179
218180
EnumDef(name='EMaterialQualityLevel',
219181
cppNameScope='EMaterialQualityLevel',
@@ -276,6 +238,65 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
276238
'Valid',
277239
'NotValidated'
278240
]),
241+
242+
EnumDef(name='EFieldIteratorFlags',
243+
cppNameScope='EFieldIteratorFlags',
244+
values=[
245+
'ExcludeSuper',
246+
'IncludeSuper',
247+
'ExcludeDeprecated',
248+
'IncludeDeprecated',
249+
'ExcludeInterfaces',
250+
'IncludeInterfaces',
251+
]),
252+
]
253+
254+
#############################################################################################
255+
# Editor Only Native Enums #
256+
#############################################################################################
257+
258+
editor_native_enums_list = [
259+
EnumDef(name='EEditDefaultsOnlyNodeVisibility',
260+
cppNameScope='EEditDefaultsOnlyNodeVisibility',
261+
values=[
262+
'Show',
263+
'Hide',
264+
'Automatic',
265+
]),
266+
267+
EnumDef(name='EMovieSceneDataChangeType',
268+
cppNameScope='EMovieSceneDataChangeType',
269+
values=[
270+
'TrackValueChanged',
271+
'TrackValueChangedRefreshImmediately',
272+
'MovieSceneStructureItemAdded',
273+
'MovieSceneStructureItemRemoved',
274+
'MovieSceneStructureItemsChanged',
275+
'ActiveMovieSceneChanged',
276+
'RefreshAllImmediately',
277+
'Unknown',
278+
]),
279+
280+
EnumDef(name='EWidgetMode',
281+
cppNameScope='FWidget::EWidgetMode',
282+
values=[
283+
'WM_None',
284+
'WM_Translate',
285+
'WM_TranslateRotateZ',
286+
'WM_2D',
287+
'WM_Rotate',
288+
'WM_Scale',
289+
'WM_Max',
290+
]),
291+
292+
EnumDef(name='ECoordSystem',
293+
cppNameScope='ECoordSystem',
294+
values=[
295+
'COORD_None',
296+
'COORD_World',
297+
'COORD_Local',
298+
'COORD_Max',
299+
]),
279300
]
280301
281302
def output_cpp_enums(in_enum_list):
@@ -308,7 +329,7 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
308329
309330
]]]*/
310331
// Enum Wrapper: ESizeRule
311-
{
332+
{
312333
PyObject* native_ESizeRule = PyDict_GetItemString(unreal_engine_dict, "ESizeRule");
313334
if (native_ESizeRule == nullptr)
314335
{
@@ -441,73 +462,6 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
441462
PyObject_SetAttrString((PyObject*)native_ETabActivationCause, "SetDirectly" , PyLong_FromLong((int)ETabActivationCause::SetDirectly));
442463
}
443464

444-
#if WITH_EDITOR
445-
// Enum Wrapper: EEditDefaultsOnlyNodeVisibility
446-
{
447-
PyObject* native_EEditDefaultsOnlyNodeVisibility = PyDict_GetItemString(unreal_engine_dict, "EEditDefaultsOnlyNodeVisibility");
448-
if (native_EEditDefaultsOnlyNodeVisibility == nullptr)
449-
{
450-
native_EEditDefaultsOnlyNodeVisibility = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
451-
PyDict_SetItemString(unreal_engine_dict, "EEditDefaultsOnlyNodeVisibility", (PyObject*)native_EEditDefaultsOnlyNodeVisibility);
452-
}
453-
454-
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Show" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Show));
455-
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Hide" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Hide));
456-
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Automatic" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Automatic));
457-
}
458-
459-
// Enum Wrapper: EMovieSceneDataChangeType
460-
{
461-
PyObject* native_EMovieSceneDataChangeType = PyDict_GetItemString(unreal_engine_dict, "EMovieSceneDataChangeType");
462-
if (native_EMovieSceneDataChangeType == nullptr)
463-
{
464-
native_EMovieSceneDataChangeType = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
465-
PyDict_SetItemString(unreal_engine_dict, "EMovieSceneDataChangeType", (PyObject*)native_EMovieSceneDataChangeType);
466-
}
467-
468-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "TrackValueChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::TrackValueChanged));
469-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "TrackValueChangedRefreshImmediately", PyLong_FromLong((int)EMovieSceneDataChangeType::TrackValueChangedRefreshImmediately));
470-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemAdded", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemAdded));
471-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemRemoved", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemRemoved));
472-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemsChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemsChanged));
473-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "ActiveMovieSceneChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::ActiveMovieSceneChanged));
474-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "RefreshAllImmediately", PyLong_FromLong((int)EMovieSceneDataChangeType::RefreshAllImmediately));
475-
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "Unknown" , PyLong_FromLong((int)EMovieSceneDataChangeType::Unknown));
476-
}
477-
478-
// Enum Wrapper: EWidgetMode
479-
{
480-
PyObject* native_EWidgetMode = PyDict_GetItemString(unreal_engine_dict, "EWidgetMode");
481-
if (native_EWidgetMode == nullptr)
482-
{
483-
native_EWidgetMode = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
484-
PyDict_SetItemString(unreal_engine_dict, "EWidgetMode", (PyObject*)native_EWidgetMode);
485-
}
486-
487-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_None" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_None));
488-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Translate" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Translate));
489-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_TranslateRotateZ", PyLong_FromLong((int)FWidget::EWidgetMode::WM_TranslateRotateZ));
490-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_2D" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_2D));
491-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Rotate" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Rotate));
492-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Scale" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Scale));
493-
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Max" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Max));
494-
}
495-
496-
// Enum Wrapper: ECoordSystem
497-
{
498-
PyObject* native_ECoordSystem = PyDict_GetItemString(unreal_engine_dict, "ECoordSystem");
499-
if (native_ECoordSystem == nullptr)
500-
{
501-
native_ECoordSystem = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
502-
PyDict_SetItemString(unreal_engine_dict, "ECoordSystem", (PyObject*)native_ECoordSystem);
503-
}
504-
505-
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_None" , PyLong_FromLong((int)ECoordSystem::COORD_None));
506-
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_World" , PyLong_FromLong((int)ECoordSystem::COORD_World));
507-
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_Local" , PyLong_FromLong((int)ECoordSystem::COORD_Local));
508-
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_Max" , PyLong_FromLong((int)ECoordSystem::COORD_Max));
509-
}
510-
511465
// Enum Wrapper: EMaterialQualityLevel
512466
{
513467
PyObject* native_EMaterialQualityLevel = PyDict_GetItemString(unreal_engine_dict, "EMaterialQualityLevel");
@@ -594,7 +548,91 @@ void ue_python_init_eslate_enums(PyObject *ue_module)
594548
PyObject_SetAttrString((PyObject*)native_EDataValidationResult, "NotValidated" , PyLong_FromLong((int)EDataValidationResult::NotValidated));
595549
}
596550

597-
#endif
551+
// Enum Wrapper: EFieldIteratorFlags
552+
{
553+
PyObject* native_EFieldIteratorFlags = PyDict_GetItemString(unreal_engine_dict, "EFieldIteratorFlags");
554+
if (native_EFieldIteratorFlags == nullptr)
555+
{
556+
native_EFieldIteratorFlags = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
557+
PyDict_SetItemString(unreal_engine_dict, "EFieldIteratorFlags", (PyObject*)native_EFieldIteratorFlags);
558+
}
559+
560+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "ExcludeSuper" , PyLong_FromLong((int)EFieldIteratorFlags::ExcludeSuper));
561+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "IncludeSuper" , PyLong_FromLong((int)EFieldIteratorFlags::IncludeSuper));
562+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "ExcludeDeprecated", PyLong_FromLong((int)EFieldIteratorFlags::ExcludeDeprecated));
563+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "IncludeDeprecated", PyLong_FromLong((int)EFieldIteratorFlags::IncludeDeprecated));
564+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "ExcludeInterfaces", PyLong_FromLong((int)EFieldIteratorFlags::ExcludeInterfaces));
565+
PyObject_SetAttrString((PyObject*)native_EFieldIteratorFlags, "IncludeInterfaces", PyLong_FromLong((int)EFieldIteratorFlags::IncludeInterfaces));
566+
}
567+
568+
#if WITH_EDITOR
569+
// Enum Wrapper: EEditDefaultsOnlyNodeVisibility
570+
{
571+
PyObject* native_EEditDefaultsOnlyNodeVisibility = PyDict_GetItemString(unreal_engine_dict, "EEditDefaultsOnlyNodeVisibility");
572+
if (native_EEditDefaultsOnlyNodeVisibility == nullptr)
573+
{
574+
native_EEditDefaultsOnlyNodeVisibility = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
575+
PyDict_SetItemString(unreal_engine_dict, "EEditDefaultsOnlyNodeVisibility", (PyObject*)native_EEditDefaultsOnlyNodeVisibility);
576+
}
577+
578+
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Show" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Show));
579+
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Hide" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Hide));
580+
PyObject_SetAttrString((PyObject*)native_EEditDefaultsOnlyNodeVisibility, "Automatic" , PyLong_FromLong((int)EEditDefaultsOnlyNodeVisibility::Automatic));
581+
}
582+
583+
// Enum Wrapper: EMovieSceneDataChangeType
584+
{
585+
PyObject* native_EMovieSceneDataChangeType = PyDict_GetItemString(unreal_engine_dict, "EMovieSceneDataChangeType");
586+
if (native_EMovieSceneDataChangeType == nullptr)
587+
{
588+
native_EMovieSceneDataChangeType = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
589+
PyDict_SetItemString(unreal_engine_dict, "EMovieSceneDataChangeType", (PyObject*)native_EMovieSceneDataChangeType);
590+
}
591+
592+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "TrackValueChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::TrackValueChanged));
593+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "TrackValueChangedRefreshImmediately", PyLong_FromLong((int)EMovieSceneDataChangeType::TrackValueChangedRefreshImmediately));
594+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemAdded", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemAdded));
595+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemRemoved", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemRemoved));
596+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "MovieSceneStructureItemsChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::MovieSceneStructureItemsChanged));
597+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "ActiveMovieSceneChanged", PyLong_FromLong((int)EMovieSceneDataChangeType::ActiveMovieSceneChanged));
598+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "RefreshAllImmediately", PyLong_FromLong((int)EMovieSceneDataChangeType::RefreshAllImmediately));
599+
PyObject_SetAttrString((PyObject*)native_EMovieSceneDataChangeType, "Unknown" , PyLong_FromLong((int)EMovieSceneDataChangeType::Unknown));
600+
}
601+
602+
// Enum Wrapper: EWidgetMode
603+
{
604+
PyObject* native_EWidgetMode = PyDict_GetItemString(unreal_engine_dict, "EWidgetMode");
605+
if (native_EWidgetMode == nullptr)
606+
{
607+
native_EWidgetMode = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
608+
PyDict_SetItemString(unreal_engine_dict, "EWidgetMode", (PyObject*)native_EWidgetMode);
609+
}
610+
611+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_None" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_None));
612+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Translate" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Translate));
613+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_TranslateRotateZ", PyLong_FromLong((int)FWidget::EWidgetMode::WM_TranslateRotateZ));
614+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_2D" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_2D));
615+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Rotate" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Rotate));
616+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Scale" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Scale));
617+
PyObject_SetAttrString((PyObject*)native_EWidgetMode, "WM_Max" , PyLong_FromLong((int)FWidget::EWidgetMode::WM_Max));
618+
}
619+
620+
// Enum Wrapper: ECoordSystem
621+
{
622+
PyObject* native_ECoordSystem = PyDict_GetItemString(unreal_engine_dict, "ECoordSystem");
623+
if (native_ECoordSystem == nullptr)
624+
{
625+
native_ECoordSystem = ue_PyESlateEnums_new(&ue_PyESlateEnumsType, nullptr, nullptr);
626+
PyDict_SetItemString(unreal_engine_dict, "ECoordSystem", (PyObject*)native_ECoordSystem);
627+
}
628+
629+
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_None" , PyLong_FromLong((int)ECoordSystem::COORD_None));
630+
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_World" , PyLong_FromLong((int)ECoordSystem::COORD_World));
631+
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_Local" , PyLong_FromLong((int)ECoordSystem::COORD_Local));
632+
PyObject_SetAttrString((PyObject*)native_ECoordSystem, "COORD_Max" , PyLong_FromLong((int)ECoordSystem::COORD_Max));
633+
}
634+
635+
#endif
598636
//[[[end]]]
599637
}
600638

Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
#include "UEPyFVector.h"
33
#include "UEPyFRotator.h"
44
#include "UEPyFQuat.h"
5+
#include "Class.h"
6+
#include "UObjectGlobals.h"
7+
#include "Package.h"
58

69
static PyObject *py_ue_ftransform_inverse(ue_PyFTransform *self, PyObject * args)
710
{

0 commit comments

Comments
 (0)