forked from 20tab/UnrealEnginePython
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathUEPyModule.cpp
3442 lines (2884 loc) · 128 KB
/
UEPyModule.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#include "UEPyModule.h"
#include "UEPyEngine.h"
#include "UEPyTimer.h"
#include "UEPyTicker.h"
#include "UEPyVisualLogger.h"
#include "UObject/UEPyObject.h"
#include "UObject/UEPyActor.h"
#include "UObject/UEPyTransform.h"
#include "UObject/UEPyPlayer.h"
#include "UObject/UEPyInput.h"
#include "UObject/UEPyWorld.h"
#include "UObject/UEPyNavigation.h"
#include "UObject/UEPySpline.h"
#include "UObject/UEPyMovements.h"
#include "UObject/UEPyAttaching.h"
#include "UObject/UEPySkeletal.h"
#include "UObject/UEPyStaticMesh.h"
#include "UObject/UEPyTraceAndSweep.h"
#include "UObject/UEPyPhysics.h"
#include "UObject/UEPyAudio.h"
#include "UObject/UEPySequencer.h"
#include "UObject/UEPyViewport.h"
#include "UObject/UEPyWidget.h"
#include "UObject/UEPyWidgetComponent.h"
#include "UObject/UEPyPackage.h"
#include "UObject/UEPyTexture.h"
#include "UObject/UEPyMaterial.h"
#include "UObject/UEPyPawn.h"
#include "UObject/UEPyController.h"
#include "UObject/UEPyHUD.h"
#include "UObject/UEPyAnimSequence.h"
#include "UObject/UEPyCapture.h"
#include "UObject/UEPyLandscape.h"
#include "UObject/UEPyUserDefinedStruct.h"
#include "UObject/UEPyDataTable.h"
#include "UObject/UEPyExporter.h"
#include "UObject/UEPyFoliage.h"
#include "UEPyAssetUserData.h"
#include "UEPyLambda.h"
#if WITH_EDITOR
#include "UEPyEditor.h"
#include "Blueprint/UEPyEdGraph.h"
#include "Fbx/UEPyFbx.h"
#include "Editor/BlueprintGraph/Classes/EdGraphSchema_K2.h"
#include "Editor/BlueprintGraph/Public/BlueprintActionDatabase.h"
#endif
#include "Wrappers/UEPyESlateEnums.h"
#include "Wrappers/UEPyFVector.h"
#include "Wrappers/UEPyFHitResult.h"
#include "Wrappers/UEPyFRotator.h"
#include "Wrappers/UEPyFTransform.h"
#include "Wrappers/UEPyFColor.h"
#include "Wrappers/UEPyFLinearColor.h"
#include "Wrappers/UEPyFSocket.h"
#include "Wrappers/UEPyFQuat.h"
#include "Wrappers/UEPyFRawAnimSequenceTrack.h"
#include "Wrappers/UEPyFRandomStream.h"
#include "Wrappers/UEPyFPythonOutputDevice.h"
#if WITH_EDITOR
#include "Wrappers/UEPyFSoftSkinVertex.h"
#endif
#include "Wrappers/UEPyFMorphTargetDelta.h"
#include "Wrappers/UEPyFObjectThumbnail.h"
#include "Wrappers/UEPyFViewportClient.h"
#if WITH_EDITOR
#include "Wrappers/UEPyFEditorViewportClient.h"
#include "Wrappers/UEPyIAssetEditorInstance.h"
#endif
#include "Wrappers/UEPyFFoliageInstance.h"
#include "UEPyCallable.h"
#include "UEPyUClassesImporter.h"
#include "UEPyEnumsImporter.h"
#include "UEPyUStructsImporter.h"
#include "UEPyUScriptStruct.h"
#if WITH_EDITOR
#include "Wrappers/UEPyFSlowTask.h"
#include "Wrappers/UEPyFAssetData.h"
#include "Wrappers/UEPyFARFilter.h"
#include "Wrappers/UEPyFRawMesh.h"
#include "Wrappers/UEPyFStringAssetReference.h"
#include "UObject/UEPyAnimSequence.h"
#include "Blueprint/UEPyEdGraphPin.h"
#include "UEPyIPlugin.h"
#include "CollectionManager/UEPyICollectionManager.h"
#include "MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h"
#endif
#include "Wrappers/UEPyFFrameNumber.h"
#include "Slate/UEPySlate.h"
#include "Http/UEPyIHttp.h"
#include "ConsoleManager/UEPyIConsoleManager.h"
#include "SlateApplication/UEPyFSlateApplication.h"
#include "Voice/UEPyIVoiceCapture.h"
#include "PythonFunction.h"
#include "PythonClass.h"
#if ENGINE_MINOR_VERSION >= 15
#include "Engine/UserDefinedEnum.h"
#endif
#include "Runtime/Core/Public/UObject/PropertyPortFlags.h"
#if ENGINE_MINOR_VERSION < 18
#define USoftObjectProperty UAssetObjectProperty
#define USoftClassProperty UAssetClassProperty
typedef FAssetPtr FSoftObjectPtr;
#endif
DEFINE_LOG_CATEGORY(LogPython);
PyDoc_STRVAR(unreal_engine_py_doc, "Unreal Engine Python module.");
#if PY_MAJOR_VERSION >= 3
static PyModuleDef unreal_engine_module = {
PyModuleDef_HEAD_INIT,
"unreal_engine",
unreal_engine_py_doc,
-1,
NULL,
};
static PyObject *init_unreal_engine(void);
void init_unreal_engine_builtin()
{
PyImport_AppendInittab("unreal_engine", &init_unreal_engine);
}
#endif
static PyObject *py_unreal_engine_py_gc(PyObject * self, PyObject * args)
{
int32 Garbaged = FUnrealEnginePythonHouseKeeper::Get()->RunGC();
return PyLong_FromLong(Garbaged);
}
static PyObject *py_unreal_engine_exec(PyObject * self, PyObject * args)
{
char *filename = nullptr;
if (!PyArg_ParseTuple(args, "s:exec", &filename))
{
return NULL;
}
FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked<FUnrealEnginePythonModule>("UnrealEnginePython");
Py_BEGIN_ALLOW_THREADS;
PythonModule.RunFile(filename);
Py_END_ALLOW_THREADS;
Py_RETURN_NONE;
}
#if PLATFORM_MAC
static PyObject *py_unreal_engine_exec_in_main_thread(PyObject * self, PyObject * args)
{
char *filename = nullptr;
if (!PyArg_ParseTuple(args, "s:exec_in_main_thread", &filename))
{
return NULL;
}
FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked<FUnrealEnginePythonModule>("UnrealEnginePython");
Py_BEGIN_ALLOW_THREADS;
PythonModule.RunFileInMainThread(filename);
Py_END_ALLOW_THREADS;
Py_RETURN_NONE;
}
#endif
static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args)
{
ue_py_check(self);
if (self->py_proxy)
{
Py_INCREF(self->py_proxy);
return (PyObject *)self->py_proxy;
}
Py_RETURN_NONE;
}
static PyObject *py_unreal_engine_shutdown(PyObject *self, PyObject * args)
{
GIsRequestingExit = true;
Py_RETURN_NONE;
}
static PyObject *py_unreal_engine_set_brutal_finalize(PyObject *self, PyObject * args)
{
PyObject *py_bool = nullptr;
if (!PyArg_ParseTuple(args, "|O:set_brutal_finalize", &py_bool))
{
return nullptr;
}
bool bBrutalFinalize = !py_bool || PyObject_IsTrue(py_bool);
FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked<FUnrealEnginePythonModule>("UnrealEnginePython");
PythonModule.BrutalFinalize = bBrutalFinalize;
Py_RETURN_NONE;
}
static PyMethodDef unreal_engine_methods[] = {
{ "log", py_unreal_engine_log, METH_VARARGS, "" },
{ "log_warning", py_unreal_engine_log_warning, METH_VARARGS, "" },
{ "log_error", py_unreal_engine_log_error, METH_VARARGS, "" },
{ "shutdown", py_unreal_engine_shutdown, METH_VARARGS, "" },
{ "set_brutal_finalize", py_unreal_engine_set_brutal_finalize, METH_VARARGS, "" },
{ "add_on_screen_debug_message", py_unreal_engine_add_on_screen_debug_message, METH_VARARGS, "" },
{ "print_string", py_unreal_engine_print_string, METH_VARARGS, "" },
{ "set_random_seed", py_unreal_engine_set_random_seed, METH_VARARGS, "" },
{ "find_class", py_unreal_engine_find_class, METH_VARARGS, "" },
{ "find_struct", py_unreal_engine_find_struct, METH_VARARGS, "" },
{ "find_enum", py_unreal_engine_find_enum, METH_VARARGS, "" },
{ "load_class", py_unreal_engine_load_class, METH_VARARGS, "" },
{ "load_struct", py_unreal_engine_load_struct, METH_VARARGS, "" },
{ "load_enum", py_unreal_engine_load_enum, METH_VARARGS, "" },
{ "find_object", py_unreal_engine_find_object, METH_VARARGS, "" },
{ "load_object", py_unreal_engine_load_object, METH_VARARGS, "" },
{ "load_package", py_unreal_engine_load_package, METH_VARARGS, "" },
#if WITH_EDITOR
{ "unload_package", py_unreal_engine_unload_package, METH_VARARGS, "" },
{ "get_package_filename", py_unreal_engine_get_package_filename, METH_VARARGS, "" },
#endif
{ "get_forward_vector", py_unreal_engine_get_forward_vector, METH_VARARGS, "" },
{ "get_up_vector", py_unreal_engine_get_up_vector, METH_VARARGS, "" },
{ "get_right_vector", py_unreal_engine_get_right_vector, METH_VARARGS, "" },
{ "get_content_dir", py_unreal_engine_get_content_dir, METH_VARARGS, "" },
{ "get_game_saved_dir", py_unreal_engine_get_game_saved_dir, METH_VARARGS, "" },
{ "get_game_user_developer_dir", py_unreal_engine_get_game_user_developer_dir, METH_VARARGS, "" },
{ "convert_relative_path_to_full", py_unreal_engine_convert_relative_path_to_full, METH_VARARGS, "" },
{ "get_path", py_unreal_engine_get_path, METH_VARARGS, "" },
{ "get_base_filename", py_unreal_engine_get_base_filename, METH_VARARGS, "" },
{ "object_path_to_package_name", py_unreal_engine_object_path_to_package_name, METH_VARARGS, "" },
{ "compress_image_array", py_unreal_engine_compress_image_array, METH_VARARGS, "" },
{ "create_checkerboard_texture", py_unreal_engine_create_checkerboard_texture, METH_VARARGS, "" },
{ "create_transient_texture", py_unreal_engine_create_transient_texture, METH_VARARGS, "" },
{ "create_transient_texture_render_target2d", py_unreal_engine_create_transient_texture_render_target2d, METH_VARARGS, "" },
#if WITH_EDITOR
{ "create_texture", py_unreal_engine_create_texture, METH_VARARGS, "" },
#endif
{ "create_world", py_unreal_engine_create_world, METH_VARARGS, "" },
// package
{ "create_package", (PyCFunction)py_unreal_engine_create_package, METH_VARARGS, "" },
{ "get_or_create_package", (PyCFunction)py_unreal_engine_get_or_create_package, METH_VARARGS, "" },
{ "get_transient_package", (PyCFunction)py_unreal_engine_get_transient_package, METH_VARARGS, "" },
{ "open_file_dialog", py_unreal_engine_open_file_dialog, METH_VARARGS, "" },
{ "save_file_dialog", py_unreal_engine_save_file_dialog, METH_VARARGS, "" },
{ "open_directory_dialog", py_unreal_engine_open_directory_dialog, METH_VARARGS, "" },
{ "open_font_dialog", py_unreal_engine_open_font_dialog, METH_VARARGS, "" },
// slate
{ "find_slate_style", py_unreal_engine_find_slate_style, METH_VARARGS, "" },
{ "find_icon_for_class", py_unreal_engine_find_icon_for_class, METH_VARARGS, "" },
{ "register_nomad_tab_spawner", py_unreal_engine_register_nomad_tab_spawner, METH_VARARGS, "" },
{ "unregister_nomad_tab_spawner", py_unreal_engine_unregister_nomad_tab_spawner, METH_VARARGS, "" },
{ "invoke_tab", py_unreal_engine_invoke_tab, METH_VARARGS, "" },
{ "get_swidget_from_wrapper", py_unreal_engine_get_swidget_from_wrapper, METH_VARARGS, "" },
{ "create_wrapper_from_pyswidget", py_unreal_engine_create_wrapper_from_pyswidget, METH_VARARGS, "" },
#if WITH_EDITOR
{ "get_editor_window", py_unreal_engine_get_editor_window, METH_VARARGS, "" },
{ "add_menu_extension", py_unreal_engine_add_menu_extension, METH_VARARGS, "" },
{ "add_menu_bar_extension", py_unreal_engine_add_menu_bar_extension, METH_VARARGS, "" },
{ "add_tool_bar_extension", py_unreal_engine_add_tool_bar_extension, METH_VARARGS, "" },
{ "add_asset_view_context_menu_extension", py_unreal_engine_add_asset_view_context_menu_extension, METH_VARARGS, "" },
{ "redraw_all_viewports", py_unreal_engine_redraw_all_viewports, METH_VARARGS, "" },
{ "update_ui", py_unreal_engine_update_ui, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "create_detail_view", (PyCFunction)py_unreal_engine_create_detail_view, METH_VARARGS | METH_KEYWORDS, "" },
#pragma warning(suppress: 4191)
{ "create_structure_detail_view", (PyCFunction)py_unreal_engine_create_structure_detail_view, METH_VARARGS | METH_KEYWORDS, "" },
#pragma warning(suppress: 4191)
{ "create_property_view", (PyCFunction)py_unreal_engine_create_property_view, METH_VARARGS | METH_KEYWORDS, "" },
{ "open_editor_for_asset", py_unreal_engine_open_editor_for_asset, METH_VARARGS, "" },
{ "find_editor_for_asset", py_unreal_engine_find_editor_for_asset, METH_VARARGS, "" },
{ "get_all_edited_assets", py_unreal_engine_get_all_edited_assets, METH_VARARGS, "" },
{ "close_editor_for_asset", py_unreal_engine_close_editor_for_asset, METH_VARARGS, "" },
{ "close_all_asset_editors", py_unreal_engine_close_all_asset_editors, METH_VARARGS, "" },
{ "allow_actor_script_execution_in_editor", py_unreal_engine_allow_actor_script_execution_in_editor , METH_VARARGS, "" },
{ "get_editor_world", py_unreal_engine_get_editor_world, METH_VARARGS, "" },
{ "console_exec", py_unreal_engine_console_exec, METH_VARARGS, "" },
{ "editor_get_selected_actors", py_unreal_engine_editor_get_selected_actors, METH_VARARGS, "" },
{ "editor_select_actor", py_unreal_engine_editor_select_actor, METH_VARARGS, "" },
{ "editor_deselect_actors", py_unreal_engine_editor_deselect_actors, METH_VARARGS, "" },
{ "import_asset", py_unreal_engine_import_asset, METH_VARARGS, "" },
{ "export_assets", py_unreal_engine_export_assets, METH_VARARGS, "" },
{ "get_asset", py_unreal_engine_get_asset, METH_VARARGS, "" },
{ "find_asset", py_unreal_engine_find_asset, METH_VARARGS, "" },
{ "create_asset", py_unreal_engine_create_asset, METH_VARARGS, "" },
{ "delete_object", py_unreal_engine_delete_object, METH_VARARGS, "" },
{ "get_assets", py_unreal_engine_get_assets, METH_VARARGS, "" },
{ "get_selected_assets", py_unreal_engine_get_selected_assets, METH_VARARGS, "" },
{ "get_assets_by_class", py_unreal_engine_get_assets_by_class, METH_VARARGS, "" },
{ "is_loading_assets", py_unreal_engine_is_loading_assets, METH_VARARGS, "" },
{ "wait_for_assets", py_unreal_engine_wait_for_assets, METH_VARARGS, "" },
{ "sync_browser_to_assets", py_unreal_engine_editor_sync_browser_to_assets, METH_VARARGS, "" },
{ "get_asset_referencers", py_unreal_engine_get_asset_referencers, METH_VARARGS, "" },
{ "get_asset_dependencies", py_unreal_engine_get_asset_dependencies, METH_VARARGS, "" },
{ "rename_asset", py_unreal_engine_rename_asset, METH_VARARGS, "" },
{ "duplicate_asset", py_unreal_engine_duplicate_asset, METH_VARARGS, "" },
{ "delete_asset", py_unreal_engine_delete_asset, METH_VARARGS, "" },
{ "get_long_package_path", py_unreal_engine_get_long_package_path, METH_VARARGS, "" },
{ "editor_command_build", py_unreal_engine_editor_command_build, METH_VARARGS, "" },
{ "editor_command_build_lighting", py_unreal_engine_editor_command_build_lighting, METH_VARARGS, "" },
{ "editor_command_save_current_level", py_unreal_engine_editor_command_save_current_level, METH_VARARGS, "" },
{ "editor_command_save_all_levels", py_unreal_engine_editor_command_save_all_levels, METH_VARARGS, "" },
{ "editor_save_all", py_unreal_engine_editor_save_all, METH_VARARGS, "" },
{ "get_discovered_plugins", py_unreal_engine_get_discovered_plugins, METH_VARARGS, "" },
{ "get_enabled_plugins", py_unreal_engine_get_enabled_plugins, METH_VARARGS, "" },
{ "find_plugin", py_unreal_engine_find_plugin, METH_VARARGS, "" },
{ "string_to_guid", py_unreal_engine_string_to_guid, METH_VARARGS, "" },
{ "new_guid", py_unreal_engine_new_guid, METH_VARARGS, "" },
{ "guid_to_string", py_unreal_engine_guid_to_string, METH_VARARGS, "" },
{ "heightmap_expand", py_unreal_engine_heightmap_expand, METH_VARARGS, "" },
{ "heightmap_import", py_unreal_engine_heightmap_import, METH_VARARGS, "" },
{ "play_preview_sound", py_unreal_engine_play_preview_sound, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "get_assets_by_filter", (PyCFunction)py_unreal_engine_get_assets_by_filter, METH_VARARGS | METH_KEYWORDS, "" },
{ "create_blueprint", py_unreal_engine_create_blueprint, METH_VARARGS, "" },
{ "create_blueprint_from_actor", py_unreal_engine_create_blueprint_from_actor, METH_VARARGS, "" },
{ "replace_blueprint", py_unreal_engine_replace_blueprint, METH_VARARGS, "" },
{ "get_blueprint_hierarchy_from_class", py_unreal_engine_get_blueprint_hierarchy_from_class, METH_VARARGS, "" },
{ "reload_blueprint", py_unreal_engine_reload_blueprint, METH_VARARGS, "" },
{ "compile_blueprint", py_unreal_engine_compile_blueprint, METH_VARARGS, "" },
{ "blueprint_add_member_variable", py_unreal_engine_blueprint_add_member_variable, METH_VARARGS, "" },
{ "blueprint_add_event_dispatcher", py_unreal_engine_blueprint_add_event_dispatcher, METH_VARARGS, "" },
{ "blueprint_add_new_timeline", py_unreal_engine_blueprint_add_new_timeline, METH_VARARGS, "" },
{ "blueprint_set_variable_visibility", py_unreal_engine_blueprint_set_variable_visibility, METH_VARARGS, "" },
{ "blueprint_add_function", py_unreal_engine_blueprint_add_function, METH_VARARGS, "" },
{ "blueprint_add_ubergraph_page", py_unreal_engine_blueprint_add_ubergraph_page, METH_VARARGS, "" },
{ "blueprint_get_all_graphs", py_unreal_engine_blueprint_get_all_graphs, METH_VARARGS, "" },
{ "blueprint_mark_as_structurally_modified", py_unreal_engine_blueprint_mark_as_structurally_modified, METH_VARARGS, "" },
{ "add_component_to_blueprint", py_unreal_engine_add_component_to_blueprint, METH_VARARGS, "" },
{ "get_blueprint_components", py_unreal_engine_get_blueprint_components, METH_VARARGS, "" },
{ "create_material_instance", py_unreal_engine_create_material_instance, METH_VARARGS, "" },
{ "message_dialog_open", py_unreal_engine_message_dialog_open, METH_VARARGS, "" },
{ "create_modal_save_asset_dialog", py_unreal_engine_create_modal_save_asset_dialog, METH_VARARGS, "" },
{ "set_fbx_import_option", py_unreal_engine_set_fbx_import_option, METH_VARARGS, "" },
{ "create_new_graph", py_unreal_engine_create_new_graph, METH_VARARGS, "" },
{ "editor_play", py_unreal_engine_editor_play, METH_VARARGS, "" },
{ "add_level_to_world", py_unreal_engine_add_level_to_world, METH_VARARGS, "" },
{ "move_selected_actors_to_level", py_unreal_engine_move_selected_actors_to_level, METH_VARARGS, "" },
{ "move_actor_to_level", py_unreal_engine_move_actor_to_level, METH_VARARGS, "" },
{ "editor_on_asset_post_import", py_unreal_engine_editor_on_asset_post_import, METH_VARARGS, "" },
{ "on_main_frame_creation_finished", py_unreal_engine_on_main_frame_creation_finished, METH_VARARGS, "" },
// transactions
{ "begin_transaction", py_unreal_engine_begin_transaction, METH_VARARGS, "" },
{ "cancel_transaction", py_unreal_engine_cancel_transaction, METH_VARARGS, "" },
{ "end_transaction", py_unreal_engine_end_transaction, METH_VARARGS, "" },
{ "get_transaction_name", py_unreal_engine_get_transaction_name, METH_VARARGS, "" },
{ "is_transaction_active", py_unreal_engine_is_transaction_active, METH_VARARGS, "" },
{ "redo_transaction", py_unreal_engine_redo_transaction, METH_VARARGS, "" },
{ "reset_transaction", py_unreal_engine_reset_transaction, METH_VARARGS, "" },
{ "transactions", py_unreal_engine_transactions, METH_VARARGS, "" },
{ "editor_undo", py_unreal_engine_editor_undo, METH_VARARGS, "" },
{ "editor_redo", py_unreal_engine_editor_redo, METH_VARARGS, "" },
{ "editor_tick", py_unreal_engine_editor_tick, METH_VARARGS, "" },
#endif
{ "engine_tick", py_unreal_engine_engine_tick, METH_VARARGS, "" },
#if WITH_EDITOR
{ "tick_rendering_tickables", py_unreal_engine_tick_rendering_tickables, METH_VARARGS, "" },
{ "all_viewport_clients", py_unreal_engine_all_viewport_clients , METH_VARARGS, "" },
#endif
{ "slate_tick", py_unreal_engine_slate_tick, METH_VARARGS, "" },
{ "get_delta_time", py_unreal_engine_get_delta_time, METH_VARARGS, "" },
{ "new_object", py_unreal_engine_new_object, METH_VARARGS, "" },
{ "get_mutable_default", py_unreal_engine_get_mutable_default, METH_VARARGS, "" },
{ "all_classes", (PyCFunction)py_unreal_engine_all_classes, METH_VARARGS, "" },
{ "all_worlds", (PyCFunction)py_unreal_engine_all_worlds, METH_VARARGS, "" },
{ "tobject_iterator", (PyCFunction)py_unreal_engine_tobject_iterator, METH_VARARGS, "" },
{ "new_class", py_unreal_engine_new_class, METH_VARARGS, "" },
{ "create_and_dispatch_when_ready", py_unreal_engine_create_and_dispatch_when_ready, METH_VARARGS, "" },
#if PLATFORM_MAC
{ "main_thread_call", py_unreal_engine_main_thread_call, METH_VARARGS, "" },
#endif
{ "add_ticker", py_unreal_engine_add_ticker, METH_VARARGS, "" },
{ "remove_ticker", py_unreal_engine_remove_ticker, METH_VARARGS, "" },
{ "py_gc", py_unreal_engine_py_gc, METH_VARARGS, "" },
// exec is a reserved keyword in python2
#if PY_MAJOR_VERSION >= 3
{ "exec", py_unreal_engine_exec, METH_VARARGS, "" },
#endif
{ "py_exec", py_unreal_engine_exec, METH_VARARGS, "" },
#if PLATFORM_MAC
{ "exec_in_main_thread", py_unreal_engine_exec_in_main_thread, METH_VARARGS, "" },
{ "py_exec_in_main_thread", py_unreal_engine_exec_in_main_thread, METH_VARARGS, "" },
#endif
{ "get_engine_defined_action_mappings", py_unreal_engine_get_engine_defined_action_mappings, METH_VARARGS, "" },
{ "get_viewport_screenshot", py_unreal_engine_get_viewport_screenshot, METH_VARARGS, "" },
{ "get_viewport_size", py_unreal_engine_get_viewport_size, METH_VARARGS, "" },
{ "get_resolution", py_unreal_engine_get_resolution, METH_VARARGS, "" },
{ "get_game_viewport_size", py_unreal_engine_get_game_viewport_size, METH_VARARGS, "" },
{ "get_game_viewport_client", py_unreal_engine_get_game_viewport_client, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "open_color_picker", (PyCFunction)py_unreal_engine_open_color_picker, METH_VARARGS | METH_KEYWORDS, "" },
{ "destroy_color_picker", py_unreal_engine_destroy_color_picker, METH_VARARGS, "" },
{ "play_sound", py_unreal_engine_play_sound, METH_VARARGS, "" },
#if WITH_EDITOR
{ "editor_play_in_viewport", py_unreal_engine_editor_play_in_viewport, METH_VARARGS, "" },
{ "request_play_session", py_unreal_engine_request_play_session, METH_VARARGS, "" },
{ "get_editor_pie_game_viewport_client", py_unreal_engine_get_editor_pie_game_viewport_client, METH_VARARGS, "" },
{ "editor_get_active_viewport_screenshot", py_unreal_engine_editor_get_active_viewport_screenshot, METH_VARARGS, "" },
{ "editor_get_pie_viewport_screenshot", py_unreal_engine_editor_get_pie_viewport_screenshot, METH_VARARGS, "" },
{ "editor_set_view_mode", py_unreal_engine_editor_set_view_mode, METH_VARARGS, "" },
{ "editor_set_camera_speed", py_unreal_engine_editor_set_camera_speed, METH_VARARGS, "" },
{ "editor_set_view_location", py_unreal_engine_editor_set_view_location, METH_VARARGS, "" },
{ "editor_set_view_rotation", py_unreal_engine_editor_set_view_rotation, METH_VARARGS, "" },
{ "editor_get_active_viewport_size", py_unreal_engine_editor_get_active_viewport_size, METH_VARARGS, "" },
{ "editor_get_pie_viewport_size", py_unreal_engine_editor_get_pie_viewport_size, METH_VARARGS, "" },
{ "editor_take_high_res_screen_shots", py_unreal_engine_editor_take_high_res_screen_shots, METH_VARARGS, "" },
{ "register_settings", py_unreal_engine_register_settings, METH_VARARGS, "" },
{ "show_viewer", py_unreal_engine_show_viewer, METH_VARARGS, "" },
{ "unregister_settings", py_unreal_engine_unregister_settings, METH_VARARGS, "" },
{ "in_editor_capture", py_unreal_engine_in_editor_capture, METH_VARARGS, "" },
#endif
//duplicate for now for testing
{ "run_on_gt", py_unreal_engine_create_and_dispatch_when_ready, METH_VARARGS, "" },
{ "clipboard_copy", py_unreal_engine_clipboard_copy, METH_VARARGS, "" },
{ "clipboard_paste", py_unreal_engine_clipboard_paste, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "copy_properties_for_unrelated_objects", (PyCFunction)py_unreal_engine_copy_properties_for_unrelated_objects, METH_VARARGS | METH_KEYWORDS, "" },
{ NULL, NULL },
};
static PyMethodDef ue_PyUObject_methods[] = {
// Transform
{ "get_actor_location", (PyCFunction)py_ue_get_actor_location, METH_VARARGS, "" },
{ "get_actor_rotation", (PyCFunction)py_ue_get_actor_rotation, METH_VARARGS, "" },
{ "get_actor_scale", (PyCFunction)py_ue_get_actor_scale, METH_VARARGS, "" },
{ "get_actor_transform", (PyCFunction)py_ue_get_actor_transform, METH_VARARGS, "" },
{ "get_actor_forward", (PyCFunction)py_ue_get_actor_forward, METH_VARARGS, "" },
{ "get_actor_right", (PyCFunction)py_ue_get_actor_right, METH_VARARGS, "" },
{ "get_actor_up", (PyCFunction)py_ue_get_actor_up, METH_VARARGS, "" },
{ "set_actor_location", (PyCFunction)py_ue_set_actor_location, METH_VARARGS, "" },
{ "set_actor_rotation", (PyCFunction)py_ue_set_actor_rotation, METH_VARARGS, "" },
{ "set_actor_scale", (PyCFunction)py_ue_set_actor_scale, METH_VARARGS, "" },
{ "set_actor_transform", (PyCFunction)py_ue_set_actor_transform, METH_VARARGS, "" },
{ "add_actor_world_offset", (PyCFunction)py_ue_add_actor_world_offset, METH_VARARGS, "" },
{ "add_actor_local_offset", (PyCFunction)py_ue_add_actor_local_offset, METH_VARARGS, "" },
{ "add_actor_world_rotation", (PyCFunction)py_ue_add_actor_world_rotation, METH_VARARGS, "" },
{ "add_actor_local_rotation", (PyCFunction)py_ue_add_actor_local_rotation, METH_VARARGS, "" },
{ "get_world_location", (PyCFunction)py_ue_get_world_location, METH_VARARGS, "" },
{ "get_world_rotation", (PyCFunction)py_ue_get_world_rotation, METH_VARARGS, "" },
{ "get_world_scale", (PyCFunction)py_ue_get_world_scale, METH_VARARGS, "" },
{ "get_world_transform", (PyCFunction)py_ue_get_world_transform, METH_VARARGS, "" },
{ "get_relative_location", (PyCFunction)py_ue_get_relative_location, METH_VARARGS, "" },
{ "get_relative_rotation", (PyCFunction)py_ue_get_relative_rotation, METH_VARARGS, "" },
{ "get_relative_scale", (PyCFunction)py_ue_get_relative_scale, METH_VARARGS, "" },
{ "get_relative_transform", (PyCFunction)py_ue_get_relative_transform, METH_VARARGS, "" },
{ "set_world_location", (PyCFunction)py_ue_set_world_location, METH_VARARGS, "" },
{ "set_world_rotation", (PyCFunction)py_ue_set_world_rotation, METH_VARARGS, "" },
{ "set_world_scale", (PyCFunction)py_ue_set_world_scale, METH_VARARGS, "" },
{ "set_world_transform", (PyCFunction)py_ue_set_world_transform, METH_VARARGS, "" },
{ "set_relative_location", (PyCFunction)py_ue_set_relative_location, METH_VARARGS, "" },
{ "set_relative_rotation", (PyCFunction)py_ue_set_relative_rotation, METH_VARARGS, "" },
{ "set_relative_scale", (PyCFunction)py_ue_set_relative_scale, METH_VARARGS, "" },
{ "set_relative_transform", (PyCFunction)py_ue_set_relative_transform, METH_VARARGS, "" },
{ "get_forward_vector", (PyCFunction)py_ue_get_forward_vector, METH_VARARGS, "" },
{ "get_up_vector", (PyCFunction)py_ue_get_up_vector, METH_VARARGS, "" },
{ "get_right_vector", (PyCFunction)py_ue_get_right_vector, METH_VARARGS, "" },
// UObject
{ "get_property", (PyCFunction)py_ue_get_property, METH_VARARGS, "" },
{ "set_property", (PyCFunction)py_ue_set_property, METH_VARARGS, "" },
{ "set_property_flags", (PyCFunction)py_ue_set_property_flags, METH_VARARGS, "" },
{ "add_property_flags", (PyCFunction)py_ue_add_property_flags, METH_VARARGS, "" },
{ "get_property_flags", (PyCFunction)py_ue_get_property_flags, METH_VARARGS, "" },
{ "properties", (PyCFunction)py_ue_properties, METH_VARARGS, "" },
{ "get_property_class", (PyCFunction)py_ue_get_property_class, METH_VARARGS, "" },
{ "has_property", (PyCFunction)py_ue_has_property, METH_VARARGS, "" },
{ "get_uproperty", (PyCFunction)py_ue_get_uproperty, METH_VARARGS, "" },
{ "get_property_struct", (PyCFunction)py_ue_get_property_struct, METH_VARARGS, "" },
{ "get_property_array_dim", (PyCFunction)py_ue_get_property_array_dim, METH_VARARGS, "" },
{ "get_inner", (PyCFunction)py_ue_get_inner, METH_VARARGS, "" },
{ "get_key_prop", (PyCFunction)py_ue_get_key_prop, METH_VARARGS, "" },
{ "get_value_prop", (PyCFunction)py_ue_get_value_prop, METH_VARARGS, "" },
{ "functions", (PyCFunction)py_ue_functions, METH_VARARGS, "" },
{ "is_a", (PyCFunction)py_ue_is_a, METH_VARARGS, "" },
{ "is_valid", (PyCFunction)py_ue_is_valid, METH_VARARGS, "" },
{ "is_child_of", (PyCFunction)py_ue_is_child_of, METH_VARARGS, "" },
{ "call", (PyCFunction)py_ue_call, METH_VARARGS, "" },
{ "get_owner", (PyCFunction)py_ue_get_owner, METH_VARARGS, "" },
{ "get_outer", (PyCFunction)py_ue_get_outer, METH_VARARGS, "" },
{ "set_outer", (PyCFunction)py_ue_set_outer, METH_VARARGS, "" },
{ "get_outermost", (PyCFunction)py_ue_get_outermost, METH_VARARGS, "" },
{ "get_super_class", (PyCFunction)py_ue_get_super_class, METH_VARARGS, "" },
{ "get_name", (PyCFunction)py_ue_get_name, METH_VARARGS, "" },
{ "get_display_name", (PyCFunction)py_ue_get_display_name, METH_VARARGS, "" },
{ "get_path_name", (PyCFunction)py_ue_get_path_name, METH_VARARGS, "" },
{ "get_full_name", (PyCFunction)py_ue_get_full_name, METH_VARARGS, "" },
#if WITH_EDITOR
{ "import_custom_properties", (PyCFunction)py_ue_import_custom_properties, METH_VARARGS, "" },
#endif
#if ENGINE_MINOR_VERSION >= 15
{ "can_modify", (PyCFunction)py_ue_can_modify, METH_VARARGS, "" },
#endif
{ "set_name", (PyCFunction)py_ue_set_name, METH_VARARGS, "" },
{ "bind_event", (PyCFunction)py_ue_bind_event, METH_VARARGS, "" },
{ "delegate_bind_ufunction", (PyCFunction)py_ue_delegate_bind_ufunction, METH_VARARGS, "" },
{ "get_py_proxy", (PyCFunction)py_ue_get_py_proxy, METH_VARARGS, "" },
{ "post_edit_change", (PyCFunction)py_ue_post_edit_change, METH_VARARGS, "" },
{ "post_edit_change_property", (PyCFunction)py_ue_post_edit_change_property, METH_VARARGS, "" },
{ "pre_edit_change", (PyCFunction)py_ue_pre_edit_change, METH_VARARGS, "" },
{ "modify", (PyCFunction)py_ue_modify, METH_VARARGS, "" },
#if WITH_EDITOR
{ "get_thumbnail", (PyCFunction)py_ue_get_thumbnail, METH_VARARGS, "" },
{ "render_thumbnail", (PyCFunction)py_ue_render_thumbnail, METH_VARARGS, "" },
#endif
#if WITH_EDITOR
{ "save_config", (PyCFunction)py_ue_save_config, METH_VARARGS, "" },
{ "get_actor_label", (PyCFunction)py_ue_get_actor_label, METH_VARARGS, "" },
{ "set_actor_label", (PyCFunction)py_ue_set_actor_label, METH_VARARGS, "" },
{ "set_actor_hidden_in_game", (PyCFunction)py_ue_set_actor_hidden_in_game, METH_VARARGS, "" },
{ "get_folder_path", (PyCFunction)py_ue_get_folder_path, METH_VARARGS, "" },
{ "set_folder_path", (PyCFunction)py_ue_set_folder_path, METH_VARARGS, "" },
{ "world_create_folder", (PyCFunction)py_ue_world_create_folder, METH_VARARGS, "" },
{ "world_delete_folder", (PyCFunction)py_ue_world_delete_folder, METH_VARARGS, "" },
{ "world_rename_folder", (PyCFunction)py_ue_world_rename_folder, METH_VARARGS, "" },
{ "world_folders", (PyCFunction)py_ue_world_folders, METH_VARARGS, "" },
{ "get_editor_world_counterpart_actor", (PyCFunction)py_ue_get_editor_world_counterpart_actor, METH_VARARGS, "" },
{ "component_type_registry_invalidate_class", (PyCFunction)py_ue_component_type_registry_invalidate_class, METH_VARARGS, "" },
{ "find_actor_by_label", (PyCFunction)py_ue_find_actor_by_label, METH_VARARGS, "" },
{ "save_package", (PyCFunction)py_ue_save_package, METH_VARARGS, "" },
{ "duplicate", (PyCFunction)py_ue_duplicate, METH_VARARGS, "" },
{ "asset_can_reimport", (PyCFunction)py_ue_asset_can_reimport, METH_VARARGS, "" },
{ "asset_reimport", (PyCFunction)py_ue_asset_reimport, METH_VARARGS, "" },
{ "factory_create_new", (PyCFunction)py_ue_factory_create_new, METH_VARARGS, "" },
{ "factory_import_object", (PyCFunction)py_ue_factory_import_object, METH_VARARGS, "" },
{ "graph_add_node_call_function", (PyCFunction)py_ue_graph_add_node_call_function, METH_VARARGS, "" },
{ "graph_add_node_custom_event", (PyCFunction)py_ue_graph_add_node_custom_event, METH_VARARGS, "" },
{ "graph_add_node_variable_get", (PyCFunction)py_ue_graph_add_node_variable_get, METH_VARARGS, "" },
{ "graph_add_node_variable_set", (PyCFunction)py_ue_graph_add_node_variable_set, METH_VARARGS, "" },
{ "graph_add_node", (PyCFunction)py_ue_graph_add_node, METH_VARARGS, "" },
{ "graph_add_node_dynamic_cast", (PyCFunction)py_ue_graph_add_node_dynamic_cast, METH_VARARGS, "" },
{ "graph_add_node_event", (PyCFunction)py_ue_graph_add_node_event, METH_VARARGS, "" },
{ "graph_get_good_place_for_new_node", (PyCFunction)py_ue_graph_get_good_place_for_new_node, METH_VARARGS, "" },
{ "node_pins", (PyCFunction)py_ue_node_pins, METH_VARARGS, "" },
{ "node_get_title", (PyCFunction)py_ue_node_get_title, METH_VARARGS, "" },
{ "node_find_pin", (PyCFunction)py_ue_node_find_pin, METH_VARARGS, "" },
{ "node_create_pin", (PyCFunction)py_ue_node_create_pin, METH_VARARGS, "" },
{ "node_pin_type_changed", (PyCFunction)py_ue_node_pin_type_changed, METH_VARARGS, "" },
{ "node_pin_default_value_changed", (PyCFunction)py_ue_node_pin_default_value_changed, METH_VARARGS, "" },
{ "node_function_entry_set_pure", (PyCFunction)py_ue_node_function_entry_set_pure, METH_VARARGS, "" },
{ "node_allocate_default_pins", (PyCFunction)py_ue_node_allocate_default_pins, METH_VARARGS, "" },
{ "node_reconstruct", (PyCFunction)py_ue_node_reconstruct, METH_VARARGS, "" },
{ "get_material_graph", (PyCFunction)py_ue_get_material_graph, METH_VARARGS, "" },
{ "struct_add_variable", (PyCFunction)py_ue_struct_add_variable, METH_VARARGS, "" },
{ "struct_get_variables", (PyCFunction)py_ue_struct_get_variables, METH_VARARGS, "" },
{ "struct_remove_variable", (PyCFunction)py_ue_struct_remove_variable, METH_VARARGS, "" },
{ "struct_move_variable_up", (PyCFunction)py_ue_struct_move_variable_up, METH_VARARGS, "" },
{ "struct_move_variable_down", (PyCFunction)py_ue_struct_move_variable_down, METH_VARARGS, "" },
{ "data_table_add_row", (PyCFunction)py_ue_data_table_add_row, METH_VARARGS, "" },
{ "data_table_remove_row", (PyCFunction)py_ue_data_table_remove_row, METH_VARARGS, "" },
{ "data_table_rename_row", (PyCFunction)py_ue_data_table_rename_row, METH_VARARGS, "" },
{ "data_table_as_dict", (PyCFunction)py_ue_data_table_as_dict, METH_VARARGS, "" },
{ "data_table_as_json", (PyCFunction)py_ue_data_table_as_json, METH_VARARGS, "" },
{ "data_table_find_row", (PyCFunction)py_ue_data_table_find_row, METH_VARARGS, "" },
{ "data_table_get_all_rows", (PyCFunction)py_ue_data_table_get_all_rows, METH_VARARGS, "" },
#endif
{ "export_to_file", (PyCFunction)py_ue_export_to_file, METH_VARARGS, "" },
{ "is_rooted", (PyCFunction)py_ue_is_rooted, METH_VARARGS, "" },
{ "add_to_root", (PyCFunction)py_ue_add_to_root, METH_VARARGS, "" },
{ "auto_root", (PyCFunction)py_ue_auto_root, METH_VARARGS, "" },
{ "remove_from_root", (PyCFunction)py_ue_remove_from_root, METH_VARARGS, "" },
{ "own", (PyCFunction)py_ue_own, METH_VARARGS, "" },
{ "disown", (PyCFunction)py_ue_disown, METH_VARARGS, "" },
{ "is_owned", (PyCFunction)py_ue_is_owned, METH_VARARGS, "" },
{ "find_function", (PyCFunction)py_ue_find_function, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "call_function", (PyCFunction)py_ue_call_function, METH_VARARGS | METH_KEYWORDS, "" },
{ "all_objects", (PyCFunction)py_ue_all_objects, METH_VARARGS, "" },
{ "all_actors", (PyCFunction)py_ue_all_actors, METH_VARARGS, "" },
// Package
{ "package_get_filename", (PyCFunction)py_ue_package_get_filename, METH_VARARGS, "" },
{ "package_is_dirty", (PyCFunction)py_ue_package_is_dirty, METH_VARARGS, "" },
{ "make_unique_object_name", (PyCFunction)py_ue_package_make_unique_object_name, METH_VARARGS, "" },
#if WITH_EDITOR
// AssetUserData
{ "asset_import_data", (PyCFunction)py_ue_asset_import_data, METH_VARARGS, "" },
{ "asset_import_data_set_sources", (PyCFunction)py_ue_asset_import_data_set_sources, METH_VARARGS, "" },
#endif
// AnimSequence
{ "anim_get_skeleton", (PyCFunction)py_ue_anim_get_skeleton, METH_VARARGS, "" },
{ "anim_set_skeleton", (PyCFunction)py_ue_anim_set_skeleton, METH_VARARGS, "" },
{ "get_blend_parameter", (PyCFunction)py_ue_get_blend_parameter, METH_VARARGS, "" },
{ "set_blend_parameter", (PyCFunction)py_ue_set_blend_parameter, METH_VARARGS, "" },
{ "get_bone_transform", (PyCFunction)py_ue_anim_get_bone_transform, METH_VARARGS, "" },
{ "extract_bone_transform", (PyCFunction)py_ue_anim_extract_bone_transform, METH_VARARGS, "" },
{ "extract_root_motion", (PyCFunction)py_ue_anim_extract_root_motion, METH_VARARGS, "" },
#if WITH_EDITOR
#if ENGINE_MINOR_VERSION > 13
{ "get_raw_animation_data", (PyCFunction)py_ue_anim_sequence_get_raw_animation_data, METH_VARARGS, "" },
{ "get_raw_animation_track", (PyCFunction)py_ue_anim_sequence_get_raw_animation_track, METH_VARARGS, "" },
{ "add_new_raw_track", (PyCFunction)py_ue_anim_sequence_add_new_raw_track, METH_VARARGS, "" },
{ "update_compressed_track_map_from_raw", (PyCFunction)py_ue_anim_sequence_update_compressed_track_map_from_raw, METH_VARARGS, "" },
{ "update_raw_track", (PyCFunction)py_ue_anim_sequence_update_raw_track, METH_VARARGS, "" },
{ "apply_raw_anim_changes", (PyCFunction)py_ue_anim_sequence_apply_raw_anim_changes, METH_VARARGS, "" },
{ "add_key_to_sequence", (PyCFunction)py_ue_anim_add_key_to_sequence, METH_VARARGS, "" },
#endif
{ "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" },
#endif
// VisualLogger
{ "vlog", (PyCFunction)py_ue_vlog, METH_VARARGS, "" },
{ "vlog_cylinder", (PyCFunction)py_ue_vlog_cylinder, METH_VARARGS, "" },
// StaticMesh
#if WITH_EDITOR
{ "static_mesh_build", (PyCFunction)py_ue_static_mesh_build, METH_VARARGS, "" },
{ "static_mesh_create_body_setup", (PyCFunction)py_ue_static_mesh_create_body_setup, METH_VARARGS, "" },
#endif
// Input
{ "get_input_axis", (PyCFunction)py_ue_get_input_axis, METH_VARARGS, "" },
{ "bind_input_axis", (PyCFunction)py_ue_bind_input_axis, METH_VARARGS, "" },
{ "enable_input", (PyCFunction)py_ue_enable_input, METH_VARARGS, "" },
{ "show_mouse_cursor", (PyCFunction)py_ue_show_mouse_cursor, METH_VARARGS, "" },
{ "enable_click_events", (PyCFunction)py_ue_enable_click_events, METH_VARARGS, "" },
{ "enable_mouse_over_events", (PyCFunction)py_ue_enable_mouse_over_events, METH_VARARGS, "" },
{ "was_input_key_just_pressed", (PyCFunction)py_ue_was_input_key_just_pressed, METH_VARARGS, "" },
{ "was_input_key_just_released", (PyCFunction)py_ue_was_input_key_just_released, METH_VARARGS, "" },
{ "is_action_pressed", (PyCFunction)py_ue_is_action_pressed, METH_VARARGS, "" },
{ "is_action_released", (PyCFunction)py_ue_is_action_released, METH_VARARGS, "" },
{ "is_input_key_down", (PyCFunction)py_ue_is_input_key_down, METH_VARARGS, "" },
{ "bind_action", (PyCFunction)py_ue_bind_action, METH_VARARGS, "" },
{ "bind_axis", (PyCFunction)py_ue_bind_axis, METH_VARARGS, "" },
{ "bind_key", (PyCFunction)py_ue_bind_key, METH_VARARGS, "" },
{ "bind_pressed_key", (PyCFunction)py_ue_bind_pressed_key, METH_VARARGS, "" },
{ "bind_released_key", (PyCFunction)py_ue_bind_released_key, METH_VARARGS, "" },
{ "input_key", (PyCFunction)py_ue_input_key, METH_VARARGS, "" },
{ "input_axis", (PyCFunction)py_ue_input_axis, METH_VARARGS, "" },
// HUD
{ "hud_draw_2d_line", (PyCFunction)py_ue_hud_draw_2d_line, METH_VARARGS, "" },
{ "hud_draw_line", (PyCFunction)py_ue_hud_draw_line, METH_VARARGS, "" },
{ "hud_draw_texture", (PyCFunction)py_ue_hud_draw_texture, METH_VARARGS, "" },
{ "hud_draw_rect", (PyCFunction)py_ue_hud_draw_rect, METH_VARARGS, "" },
{ "hud_draw_text", (PyCFunction)py_ue_hud_draw_text, METH_VARARGS, "" },
// Movements
{ "add_controller_pitch_input", (PyCFunction)py_ue_add_controller_pitch_input, METH_VARARGS, "" },
{ "add_controller_yaw_input", (PyCFunction)py_ue_add_controller_yaw_input, METH_VARARGS, "" },
{ "add_controller_roll_input", (PyCFunction)py_ue_add_controller_roll_input, METH_VARARGS, "" },
{ "get_control_rotation", (PyCFunction)py_ue_get_control_rotation, METH_VARARGS, "" },
{ "add_movement_input", (PyCFunction)py_ue_add_movement_input, METH_VARARGS, "" },
{ "jump", (PyCFunction)py_ue_jump, METH_VARARGS, "" },
{ "stop_jumping", (PyCFunction)py_ue_stop_jumping, METH_VARARGS, "" },
{ "crouch", (PyCFunction)py_ue_crouch, METH_VARARGS, "" },
{ "uncrouch", (PyCFunction)py_ue_uncrouch, METH_VARARGS, "" },
{ "launch", (PyCFunction)py_ue_launch, METH_VARARGS, "" },
{ "is_jumping", (PyCFunction)py_ue_is_jumping, METH_VARARGS, "" },
{ "is_crouched", (PyCFunction)py_ue_is_crouched, METH_VARARGS, "" },
{ "is_falling", (PyCFunction)py_ue_is_falling, METH_VARARGS, "" },
{ "is_flying", (PyCFunction)py_ue_is_falling, METH_VARARGS, "" },
{ "can_jump", (PyCFunction)py_ue_can_jump, METH_VARARGS, "" },
{ "can_crouch", (PyCFunction)py_ue_can_crouch, METH_VARARGS, "" },
{ "get_class", (PyCFunction)py_ue_get_class, METH_VARARGS, "" },
{ "class_generated_by", (PyCFunction)py_ue_class_generated_by, METH_VARARGS, "" },
{ "class_get_flags", (PyCFunction)py_ue_class_get_flags, METH_VARARGS, "" },
{ "class_set_flags", (PyCFunction)py_ue_class_set_flags, METH_VARARGS, "" },
{ "get_obj_flags", (PyCFunction)py_ue_get_obj_flags, METH_VARARGS, "" },
{ "set_obj_flags", (PyCFunction)py_ue_set_obj_flags, METH_VARARGS, "" },
{ "clear_obj_flags", (PyCFunction)py_ue_clear_obj_flags, METH_VARARGS, "" },
{ "reset_obj_flags", (PyCFunction)py_ue_reset_obj_flags, METH_VARARGS, "" },
#if WITH_EDITOR
{ "class_get_config_name", (PyCFunction)py_ue_class_get_config_name, METH_VARARGS, "" },
{ "class_set_config_name", (PyCFunction)py_ue_class_set_config_name, METH_VARARGS, "" },
#endif
{ "get_actor_components", (PyCFunction)py_ue_actor_components, METH_VARARGS, "" },
{ "components", (PyCFunction)py_ue_actor_components, METH_VARARGS, "" },
{ "get_components", (PyCFunction)py_ue_actor_components, METH_VARARGS, "" },
{ "component_is_registered", (PyCFunction)py_ue_component_is_registered, METH_VARARGS, "" },
{ "register_component", (PyCFunction)py_ue_register_component, METH_VARARGS, "" },
{ "unregister_component", (PyCFunction)py_ue_unregister_component, METH_VARARGS, "" },
{ "destroy_component", (PyCFunction)py_ue_destroy_component, METH_VARARGS, "" },
{ "actor_destroy_component", (PyCFunction)py_ue_actor_destroy_component, METH_VARARGS, "" },
{ "destroy_actor_component", (PyCFunction)py_ue_actor_destroy_component, METH_VARARGS, "" },
{ "actor_create_default_subobject", (PyCFunction)py_ue_actor_create_default_subobject, METH_VARARGS, "" },
{ "create_default_subobject", (PyCFunction)py_ue_actor_create_default_subobject, METH_VARARGS, "" },
{ "actor_begin_play", (PyCFunction)py_ue_actor_begin_play, METH_VARARGS, "" },
{ "broadcast", (PyCFunction)py_ue_broadcast, METH_VARARGS, "" },
#if WITH_EDITOR
{ "get_metadata", (PyCFunction)py_ue_get_metadata, METH_VARARGS, "" },
{ "set_metadata", (PyCFunction)py_ue_set_metadata, METH_VARARGS, "" },
{ "has_metadata", (PyCFunction)py_ue_has_metadata, METH_VARARGS, "" },
#endif
{ "quit_game", (PyCFunction)py_ue_quit_game, METH_VARARGS, "" },
{ "play", (PyCFunction)py_ue_play, METH_VARARGS, "" },
{ "get_world_type", (PyCFunction)py_ue_get_world_type, METH_VARARGS, "" },
{ "world_exec", (PyCFunction)py_ue_world_exec, METH_VARARGS, "" },
{ "simple_move_to_location", (PyCFunction)py_ue_simple_move_to_location, METH_VARARGS, "" },
{ "actor_has_component_of_type", (PyCFunction)py_ue_actor_has_component_of_type, METH_VARARGS, "" },
{ "actor_destroy", (PyCFunction)py_ue_actor_destroy, METH_VARARGS, "" },
#pragma warning(suppress: 4191)
{ "actor_spawn", (PyCFunction)py_ue_actor_spawn, METH_VARARGS | METH_KEYWORDS, "" },
{ "actor_has_tag", (PyCFunction)py_ue_actor_has_tag, METH_VARARGS, "" },
{ "component_has_tag", (PyCFunction)py_ue_component_has_tag, METH_VARARGS, "" },
{ "get_actor_bounds", (PyCFunction)py_ue_get_actor_bounds, METH_VARARGS, "" },
{ "line_trace_single_by_channel", (PyCFunction)py_ue_line_trace_single_by_channel, METH_VARARGS, "" },
{ "line_trace_multi_by_channel", (PyCFunction)py_ue_line_trace_multi_by_channel, METH_VARARGS, "" },
{ "get_hit_result_under_cursor", (PyCFunction)py_ue_get_hit_result_under_cursor, METH_VARARGS, "" },
{ "draw_debug_line", (PyCFunction)py_ue_draw_debug_line, METH_VARARGS, "" },
{ "destructible_apply_damage", (PyCFunction)py_ue_destructible_apply_damage, METH_VARARGS, "" },
{ "set_view_target", (PyCFunction)py_ue_set_view_target, METH_VARARGS, "" },
{ "get_world_delta_seconds", (PyCFunction)py_ue_get_world_delta_seconds, METH_VARARGS, "" },
{ "get_levels", (PyCFunction)py_ue_get_levels, METH_VARARGS, "" },
{ "get_current_level", (PyCFunction)py_ue_get_current_level, METH_VARARGS, "" },
{ "set_current_level", (PyCFunction)py_ue_set_current_level, METH_VARARGS, "" },
#if WITH_EDITOR
{ "add_foliage_asset", (PyCFunction)py_ue_add_foliage_asset, METH_VARARGS, "" },
{ "get_foliage_instances", (PyCFunction)py_ue_get_foliage_instances, METH_VARARGS, "" },
#endif
{ "get_instanced_foliage_actor_for_current_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_current_level, METH_VARARGS, "" },
{ "get_instanced_foliage_actor_for_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_level, METH_VARARGS, "" },
{ "get_foliage_types", (PyCFunction)py_ue_get_foliage_types, METH_VARARGS, "" },
{ "add_actor_component", (PyCFunction)py_ue_add_actor_component, METH_VARARGS, "" },
{ "add_instance_component", (PyCFunction)py_ue_add_instance_component, METH_VARARGS, "" },
{ "get_actor_root_component", (PyCFunction)py_ue_get_actor_root_component, METH_VARARGS, "" },
{ "add_actor_root_component", (PyCFunction)py_ue_add_actor_root_component, METH_VARARGS, "" },
{ "get_actor_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" },
{ "get_actor_component_by_class", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" },
{ "get_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" },
{ "get_component_by_class", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" },
{ "get_component", (PyCFunction)py_ue_get_actor_component, METH_VARARGS, "" },
{ "get_actor_component", (PyCFunction)py_ue_get_actor_component, METH_VARARGS, "" },
{ "get_actor_components_by_type", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" },
{ "get_components_by_type", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" },
{ "get_actor_components_by_class", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" },
{ "get_components_by_class", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" },
{ "get_actor_components_by_tag", (PyCFunction)py_ue_get_actor_components_by_tag, METH_VARARGS, "" },
{ "get_components_by_tag", (PyCFunction)py_ue_get_actor_components_by_tag, METH_VARARGS, "" },
{ "add_python_component", (PyCFunction)py_ue_add_python_component, METH_VARARGS, "" },
{ "set_simulate_physics", (PyCFunction)py_ue_set_simulate_physics, METH_VARARGS, "" },
{ "add_impulse", (PyCFunction)py_ue_add_impulse, METH_VARARGS, "" },
{ "add_angular_impulse", (PyCFunction)py_ue_add_angular_impulse, METH_VARARGS, "" },
{ "add_force", (PyCFunction)py_ue_add_force, METH_VARARGS, "" },
{ "add_torque", (PyCFunction)py_ue_add_torque, METH_VARARGS, "" },
{ "set_physics_linear_velocity", (PyCFunction)py_ue_set_physics_linear_velocity, METH_VARARGS, "" },
{ "get_physics_linear_velocity", (PyCFunction)py_ue_get_physics_linear_velocity, METH_VARARGS, "" },
{ "set_physics_angular_velocity", (PyCFunction)py_ue_set_physics_angular_velocity, METH_VARARGS, "" },
{ "get_physics_angular_velocity", (PyCFunction)py_ue_get_physics_angular_velocity, METH_VARARGS, "" },
{ "find_object", (PyCFunction)py_ue_find_object, METH_VARARGS, "" },
{ "get_world", (PyCFunction)py_ue_get_world, METH_VARARGS, "" },
{ "has_world", (PyCFunction)py_ue_has_world, METH_VARARGS, "" },
{ "get_game_viewport", (PyCFunction)py_ue_get_game_viewport, METH_VARARGS, "" },
{ "game_viewport_client_set_rendering_flag", (PyCFunction)py_ue_game_viewport_client_set_rendering_flag, METH_VARARGS, "" },
{ "get_world_location_at_distance_along_spline", (PyCFunction)py_ue_get_world_location_at_distance_along_spline, METH_VARARGS, "" },
{ "get_spline_length", (PyCFunction)py_ue_get_spline_length, METH_VARARGS, "" },
{ "game_viewport_client_get_window", (PyCFunction)py_ue_game_viewport_client_get_window, METH_VARARGS, "" },
// Widget
{ "take_widget", (PyCFunction)py_ue_take_widget, METH_VARARGS, "" },
{ "create_widget", (PyCFunction)py_ue_create_widget, METH_VARARGS, "" },
// WidgetComponent
{ "set_slate_widget", (PyCFunction)py_ue_set_slate_widget, METH_VARARGS, "" },
{ "get_actor_velocity", (PyCFunction)py_ue_get_actor_velocity, METH_VARARGS, "" },
{ "play_sound_at_location", (PyCFunction)py_ue_play_sound_at_location, METH_VARARGS, "" },
{ "queue_audio", (PyCFunction)py_ue_queue_audio, METH_VARARGS, "" },
{ "reset_audio", (PyCFunction)py_ue_reset_audio, METH_VARARGS, "" },
{ "get_available_audio_byte_count", (PyCFunction)py_ue_get_available_audio_byte_count, METH_VARARGS, "" },
{ "sound_get_data", (PyCFunction)py_ue_sound_get_data, METH_VARARGS, "" },
{ "sound_set_data", (PyCFunction)py_ue_sound_set_data, METH_VARARGS, "" },
{ "world_tick", (PyCFunction)py_ue_world_tick, METH_VARARGS, "" },
{ "conditional_begin_destroy", (PyCFunction)py_ue_conditional_begin_destroy, METH_VARARGS, "" },
// Landscape
#if WITH_EDITOR
{ "create_landscape_info", (PyCFunction)py_ue_create_landscape_info, METH_VARARGS, "" },
{ "get_landscape_info", (PyCFunction)py_ue_get_landscape_info, METH_VARARGS, "" },
{ "landscape_import", (PyCFunction)py_ue_landscape_import, METH_VARARGS, "" },
{ "landscape_export_to_raw_mesh", (PyCFunction)py_ue_landscape_export_to_raw_mesh, METH_VARARGS, "" },
#endif
// Player
{ "create_player", (PyCFunction)py_ue_create_player, METH_VARARGS, "" },
{ "get_num_players", (PyCFunction)py_ue_get_num_players, METH_VARARGS, "" },
{ "get_num_spectators", (PyCFunction)py_ue_get_num_spectators, METH_VARARGS, "" },
{ "get_player_controller", (PyCFunction)py_ue_get_player_controller, METH_VARARGS, "" },
{ "get_player_hud", (PyCFunction)py_ue_get_player_hud, METH_VARARGS, "" },
{ "set_player_hud", (PyCFunction)py_ue_set_player_hud, METH_VARARGS, "" },
{ "get_player_camera_manager", (PyCFunction)py_ue_get_player_camera_manager, METH_VARARGS, "" },
{ "get_player_pawn", (PyCFunction)py_ue_get_player_pawn, METH_VARARGS, "" },
{ "restart_level", (PyCFunction)py_ue_restart_level, METH_VARARGS, "" },
{ "get_overlapping_actors", (PyCFunction)py_ue_get_overlapping_actors, METH_VARARGS, "" },
{ "actor_set_level_sequence", (PyCFunction)py_ue_actor_set_level_sequence, METH_VARARGS, "" },
// MovieSceneCapture
{ "capture_initialize", (PyCFunction)py_ue_capture_initialize, METH_VARARGS, "" },
{ "capture_start", (PyCFunction)py_ue_capture_start, METH_VARARGS, "" },
{ "capture_stop", (PyCFunction)py_ue_capture_stop, METH_VARARGS, "" },
{ "capture_load_from_config", (PyCFunction)py_ue_capture_load_from_config, METH_VARARGS, "" },
#if WITH_EDITOR
{ "set_level_sequence_asset", (PyCFunction)py_ue_set_level_sequence_asset, METH_VARARGS, "" },
#endif
// Pawn
{ "get_controller", (PyCFunction)py_ue_pawn_get_controller, METH_VARARGS, "" },
// Controller
{ "posses", (PyCFunction)py_ue_controller_posses, METH_VARARGS, "" },
{ "unposses", (PyCFunction)py_ue_controller_unposses, METH_VARARGS, "" },
{ "get_hud", (PyCFunction)py_ue_controller_get_hud, METH_VARARGS, "" },
{ "get_controlled_pawn", (PyCFunction)py_ue_get_controlled_pawn, METH_VARARGS, "" },
{ "get_pawn", (PyCFunction)py_ue_get_controlled_pawn, METH_VARARGS, "" },
{ "project_world_location_to_screen", (PyCFunction)py_ue_controller_project_world_location_to_screen, METH_VARARGS, "" },
// Attaching
{ "get_socket_location", (PyCFunction)py_ue_get_socket_location, METH_VARARGS, "" },
{ "get_socket_rotation", (PyCFunction)py_ue_get_socket_rotation, METH_VARARGS, "" },
{ "get_socket_transform", (PyCFunction)py_ue_get_socket_transform, METH_VARARGS, "" },
{ "get_socket_world_transform", (PyCFunction)py_ue_get_socket_world_transform, METH_VARARGS, "" },
{ "get_socket_actor_transform", (PyCFunction)py_ue_get_socket_actor_transform, METH_VARARGS, "" },
{ "get_attached_actors", (PyCFunction)py_ue_get_attached_actors, METH_VARARGS, "" },
{ "get_all_child_actors", (PyCFunction)py_ue_get_all_child_actors, METH_VARARGS, "" },
{ "attach_to_actor", (PyCFunction)py_ue_attach_to_actor, METH_VARARGS, "" },