Skip to content

Commit 05cfcb4

Browse files
author
Roberto De Ioris
committed
third round of refactoring
1 parent db94627 commit 05cfcb4

9 files changed

Lines changed: 69 additions & 162 deletions

File tree

‎Source/UnrealEnginePython/Private/UEPyEngine.cpp‎

Lines changed: 10 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -380,12 +380,7 @@ PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args)
380380
if (!u_struct)
381381
return PyErr_Format(PyExc_Exception, "unable to find struct %s", name);
382382

383-
ue_PyUObject *ret = ue_get_python_wrapper(u_struct);
384-
if (!ret)
385-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
386-
Py_INCREF(ret);
387-
return (PyObject *)ret;
388-
383+
Py_RETURN_UOBJECT(u_struct);
389384
}
390385

391386

@@ -421,11 +416,7 @@ PyObject *py_unreal_engine_load_object(PyObject * self, PyObject * args)
421416
if (!u_object)
422417
return PyErr_Format(PyExc_Exception, "unable to load object %s", name);
423418

424-
ue_PyUObject *ret = ue_get_python_wrapper(u_object);
425-
if (!ret)
426-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
427-
Py_INCREF(ret);
428-
return (PyObject *)ret;
419+
Py_RETURN_UOBJECT(u_object);
429420

430421
}
431422

@@ -510,11 +501,7 @@ PyObject *py_unreal_engine_find_object(PyObject * self, PyObject * args)
510501
if (!u_object)
511502
return PyErr_Format(PyExc_Exception, "unable to find object %s", name);
512503

513-
ue_PyUObject *ret = ue_get_python_wrapper(u_object);
514-
if (!ret)
515-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
516-
Py_INCREF(ret);
517-
return (PyObject *)ret;
504+
Py_RETURN_UOBJECT(u_object);
518505
}
519506

520507

@@ -569,11 +556,7 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args)
569556

570557
new_object->PostLoad();
571558

572-
ue_PyUObject *ret = ue_get_python_wrapper(new_object);
573-
if (!ret)
574-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
575-
Py_INCREF(ret);
576-
return (PyObject *)ret;
559+
Py_RETURN_UOBJECT(new_object);
577560
}
578561

579562
PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args)
@@ -601,11 +584,7 @@ PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args)
601584
if (!mutable_object)
602585
return PyErr_Format(PyExc_Exception, "unable to create object");
603586

604-
ue_PyUObject *ret = ue_get_python_wrapper(mutable_object);
605-
if (!ret)
606-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
607-
Py_INCREF(ret);
608-
return (PyObject *)ret;
587+
Py_RETURN_UOBJECT(mutable_object);
609588
}
610589

611590

@@ -637,11 +616,7 @@ PyObject *py_unreal_engine_new_class(PyObject * self, PyObject * args)
637616
if (!new_object)
638617
return PyErr_Format(PyExc_Exception, "unable to create UClass");
639618

640-
ue_PyUObject *ret = ue_get_python_wrapper(new_object);
641-
if (!ret)
642-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
643-
Py_INCREF(ret);
644-
return (PyObject *)ret;
619+
Py_RETURN_UOBJECT(new_object);
645620
}
646621

647622
PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args)
@@ -664,7 +639,7 @@ PyObject *py_unreal_engine_all_worlds(PyObject * self, PyObject * args)
664639
PyObject *ret = PyList_New(0);
665640
for (TObjectIterator<UWorld> Itr; Itr; ++Itr)
666641
{
667-
ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr);
642+
ue_PyUObject *py_obj = ue_get_python_uobject(*Itr);
668643
if (!py_obj)
669644
continue;
670645
PyList_Append(ret, (PyObject *)py_obj);
@@ -997,11 +972,7 @@ PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args)
997972
u_package->FullyLoad();
998973
u_package->MarkPackageDirty();
999974

1000-
ue_PyUObject *ret = ue_get_python_wrapper(u_package);
1001-
if (!ret)
1002-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
1003-
Py_INCREF(ret);
1004-
return (PyObject *)ret;
975+
Py_RETURN_UOBJECT(u_package);
1005976
}
1006977

1007978
PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args)
@@ -1027,21 +998,12 @@ PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args
1027998
u_package->MarkPackageDirty();
1028999
}
10291000

1030-
ue_PyUObject *ret = ue_get_python_wrapper(u_package);
1031-
if (!ret)
1032-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
1033-
Py_INCREF(ret);
1034-
return (PyObject *)ret;
1001+
Py_RETURN_UOBJECT(u_package);
10351002
}
10361003

10371004
PyObject *py_unreal_engine_get_transient_package(PyObject *self, PyObject * args)
10381005
{
1039-
1040-
ue_PyUObject *ret = ue_get_python_wrapper(GetTransientPackage());
1041-
if (!ret)
1042-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
1043-
Py_INCREF(ret);
1044-
return (PyObject *)ret;
1006+
Py_RETURN_UOBJECT(GetTransientPackage());
10451007
}
10461008

10471009
PyObject *py_unreal_engine_open_file_dialog(PyObject *self, PyObject * args)

‎Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp‎

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
#include "UnrealEnginePythonPrivatePCH.h"
22

3-
static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject *attr_name) {
3+
static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject *attr_name)
4+
{
45
PyObject *ret = PyObject_GenericGetAttr((PyObject *)self, attr_name);
5-
if (!ret) {
6-
if (PyUnicodeOrString_Check(attr_name)) {
6+
if (!ret)
7+
{
8+
if (PyUnicodeOrString_Check(attr_name))
9+
{
710
char *attr = PyUnicode_AsUTF8(attr_name);
8-
if (attr[0] != '_') {
11+
if (attr[0] != '_')
12+
{
913
UEnum *u_enum = FindObject<UEnum>(ANY_PACKAGE, UTF8_TO_TCHAR(attr));
10-
if (u_enum) {
14+
if (u_enum)
15+
{
1116
// swallow old exception
1217
PyErr_Clear();
13-
ue_PyUObject *u_ret = ue_get_python_wrapper(u_enum);
14-
if (!u_ret)
15-
return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state");
16-
Py_INCREF(u_ret);
17-
return (PyObject *)u_ret;
18+
Py_RETURN_UOBJECT(u_enum);
1819
}
1920
}
2021
}
@@ -55,7 +56,8 @@ static PyTypeObject ue_PyEnumsImporterType = {
5556
0,
5657
};
5758

58-
void ue_python_init_enumsimporter(PyObject *ue_module) {
59+
void ue_python_init_enumsimporter(PyObject *ue_module)
60+
{
5961
ue_PyEnumsImporterType.tp_new = PyType_GenericNew;
6062

6163
if (PyType_Ready(&ue_PyEnumsImporterType) < 0)
@@ -65,7 +67,8 @@ void ue_python_init_enumsimporter(PyObject *ue_module) {
6567
PyModule_AddObject(ue_module, "EnumsImporter", (PyObject *)&ue_PyEnumsImporterType);
6668
}
6769

68-
PyObject *py_ue_new_enumsimporter() {
70+
PyObject *py_ue_new_enumsimporter()
71+
{
6972
ue_PyEnumsImporter *ret = (ue_PyEnumsImporter *)PyObject_New(ue_PyEnumsImporter, &ue_PyEnumsImporterType);
7073
return (PyObject *)ret;
7174
}

‎Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args)
383383

384384
for (UMovieSceneTrack *track : tracks)
385385
{
386-
ue_PyUObject *ret = ue_get_python_wrapper((UObject *)track);
386+
ue_PyUObject *ret = ue_get_python_uobject((UObject *)track);
387387
if (!ret)
388388
{
389389
Py_DECREF(py_tracks);
@@ -485,7 +485,7 @@ PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args)
485485

486486
for (UMovieSceneFolder *folder : folders)
487487
{
488-
ue_PyUObject *ret = ue_get_python_wrapper((UObject *)folder);
488+
ue_PyUObject *ret = ue_get_python_uobject((UObject *)folder);
489489
if (!ret)
490490
{
491491
Py_DECREF(py_folders);

‎Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@ PyObject *py_ue_get_anim_instance(ue_PyUObject *self, PyObject * args)
2626
return Py_None;
2727
}
2828

29-
ue_PyUObject *ret = ue_get_python_wrapper((UObject *)anim);
30-
if (!ret)
31-
return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state");
32-
Py_INCREF(ret);
33-
return (PyObject *)ret;
29+
Py_RETURN_UOBJECT((UObject *)anim);
3430
}
3531

3632
PyObject *py_ue_set_skeletal_mesh(ue_PyUObject *self, PyObject * args)

‎Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp‎

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -268,11 +268,7 @@ PyObject *py_unreal_engine_create_checkerboard_texture(PyObject * self, PyObject
268268

269269
UTexture2D *texture = FImageUtils::CreateCheckerboardTexture(color_one->color, color_two->color, checker_size);
270270

271-
ue_PyUObject *ret = ue_get_python_wrapper(texture);
272-
if (!ret)
273-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
274-
Py_INCREF(ret);
275-
return (PyObject *)ret;
271+
Py_RETURN_UOBJECT(texture);
276272
}
277273

278274
PyObject *py_unreal_engine_create_transient_texture(PyObject * self, PyObject * args)
@@ -292,11 +288,7 @@ PyObject *py_unreal_engine_create_transient_texture(PyObject * self, PyObject *
292288

293289
texture->UpdateResource();
294290

295-
ue_PyUObject *ret = ue_get_python_wrapper(texture);
296-
if (!ret)
297-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
298-
Py_INCREF(ret);
299-
return (PyObject *)ret;
291+
Py_RETURN_UOBJECT(texture);
300292
}
301293

302294
PyObject *py_unreal_engine_create_transient_texture_render_target2d(PyObject * self, PyObject * args)
@@ -316,11 +308,7 @@ PyObject *py_unreal_engine_create_transient_texture_render_target2d(PyObject * s
316308

317309
texture->InitCustomFormat(width, height, (EPixelFormat)format, py_linear && PyObject_IsTrue(py_linear));
318310

319-
ue_PyUObject *ret = ue_get_python_wrapper(texture);
320-
if (!ret)
321-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
322-
Py_INCREF(ret);
323-
return (PyObject *)ret;
311+
Py_RETURN_UOBJECT(texture);
324312
}
325313

326314
#if WITH_EDITOR
@@ -366,11 +354,7 @@ PyObject *py_unreal_engine_create_texture(PyObject * self, PyObject * args)
366354
if (!texture)
367355
return PyErr_Format(PyExc_Exception, "unable to create texture");
368356

369-
ue_PyUObject *ret = ue_get_python_wrapper(texture);
370-
if (!ret)
371-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
372-
Py_INCREF(ret);
373-
return (PyObject *)ret;
357+
Py_RETURN_UOBJECT(texture);
374358
}
375359
#endif
376360

‎Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp‎

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ PyObject *py_ue_all_objects(ue_PyUObject * self, PyObject * args)
111111
UObject *u_obj = *Itr;
112112
if (u_obj->GetWorld() != world)
113113
continue;
114-
ue_PyUObject *py_obj = ue_get_python_wrapper(u_obj);
114+
ue_PyUObject *py_obj = ue_get_python_uobject(u_obj);
115115
if (!py_obj)
116116
continue;
117117
PyList_Append(ret, (PyObject *)py_obj);
@@ -133,7 +133,7 @@ PyObject *py_ue_all_actors(ue_PyUObject * self, PyObject * args)
133133
for (TActorIterator<AActor> Itr(world); Itr; ++Itr)
134134
{
135135
UObject *u_obj = *Itr;
136-
ue_PyUObject *py_obj = ue_get_python_wrapper(u_obj);
136+
ue_PyUObject *py_obj = ue_get_python_uobject(u_obj);
137137
if (!py_obj)
138138
continue;
139139
PyList_Append(ret, (PyObject *)py_obj);
@@ -164,11 +164,7 @@ PyObject *py_ue_find_object(ue_PyUObject *self, PyObject * args)
164164
if (!u_object)
165165
return PyErr_Format(PyExc_Exception, "unable to find object %s", name);
166166

167-
ue_PyUObject *ret = ue_get_python_wrapper(u_object);
168-
if (!ret)
169-
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
170-
Py_INCREF(ret);
171-
return (PyObject *)ret;
167+
Py_RETURN_UOBJECT(u_object);
172168
}
173169

174170
PyObject *py_ue_get_world(ue_PyUObject *self, PyObject * args)
@@ -180,12 +176,7 @@ PyObject *py_ue_get_world(ue_PyUObject *self, PyObject * args)
180176
if (!world)
181177
return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject");
182178

183-
ue_PyUObject *ret = ue_get_python_wrapper(world);
184-
if (!ret)
185-
return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state");
186-
Py_INCREF(ret);
187-
return (PyObject *)ret;
188-
179+
Py_RETURN_UOBJECT(world);
189180
}
190181

191182
PyObject *py_ue_get_game_viewport(ue_PyUObject *self, PyObject * args)
@@ -271,7 +262,7 @@ PyObject *py_ue_get_levels(ue_PyUObject * self, PyObject * args)
271262

272263
for (ULevel *level : world->GetLevels())
273264
{
274-
ue_PyUObject *py_obj = ue_get_python_wrapper(level);
265+
ue_PyUObject *py_obj = ue_get_python_uobject(level);
275266
if (!py_obj)
276267
continue;
277268
PyList_Append(ret, (PyObject *)py_obj);
@@ -293,11 +284,7 @@ PyObject *py_ue_get_current_level(ue_PyUObject *self, PyObject * args)
293284
if (!level)
294285
Py_RETURN_NONE;
295286

296-
ue_PyUObject *ret = ue_get_python_wrapper(level);
297-
if (!ret)
298-
return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state");
299-
Py_INCREF(ret);
300-
return (PyObject *)ret;
287+
Py_RETURN_UOBJECT(level);
301288
}
302289

303290
PyObject *py_ue_set_current_level(ue_PyUObject *self, PyObject * args)
@@ -371,7 +358,7 @@ PyObject *py_ue_add_foliage_asset(ue_PyUObject *self, PyObject * args)
371358
{
372359
foliage_type = (UFoliageType *)u_object;
373360
ifa->AddFoliageType(foliage_type);
374-
361+
375362
}
376363

377364
if (!foliage_type)

‎Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@
66

77
static PyObject *py_ue_fassetdata_get_asset(ue_PyFAssetData *self, PyObject * args)
88
{
9-
PyObject *ret = (PyObject *)ue_get_python_wrapper(self->asset_data.GetAsset());
10-
if (!ret)
11-
{
12-
return PyErr_Format(PyExc_Exception, "unable to get UObject from asset");
13-
}
14-
Py_INCREF(ret);
15-
return ret;
9+
Py_RETURN_UOBJECT(self->asset_data.GetAsset());
1610
}
1711

1812
static PyObject *py_ue_fassetdata_is_asset_loaded(ue_PyFAssetData *self, PyObject * args)

0 commit comments

Comments
 (0)