Skip to content

Commit 7fc54e2

Browse files
author
liu
committed
support 3.11.8
1 parent 36fa72b commit 7fc54e2

15 files changed

+237
-82
lines changed

Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ void FPythonSmartHttpDelegate::OnRequestComplete(FHttpRequestPtr request, FHttpR
163163
Py_DECREF(ret);
164164
}
165165

166-
void FPythonSmartHttpDelegate::OnRequestProgress(FHttpRequestPtr request, int32 sent, int32 received)
166+
void FPythonSmartHttpDelegate::OnRequestProgress(FHttpRequestPtr request, uint64 sent, uint64 received)
167167
{
168168
FScopePythonGIL gil;
169169

@@ -225,7 +225,7 @@ static PyObject *py_ue_ihttp_request_bind_on_request_progress(ue_PyIHttpRequest
225225
py_delegate->SetPyCallable(py_callable);
226226
// this trick avoids generating a new python object
227227
py_delegate->SetPyHttpRequest(self);
228-
self->http_request->OnRequestProgress().BindSP(py_delegate, &FPythonSmartHttpDelegate::OnRequestProgress);
228+
self->http_request->OnRequestProgress64().BindSP(py_delegate, &FPythonSmartHttpDelegate::OnRequestProgress);
229229

230230
Py_RETURN_NONE;
231231
}

Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class FPythonSmartHttpDelegate : public FPythonSmartDelegate
2525

2626
public:
2727
void OnRequestComplete(FHttpRequestPtr request, FHttpResponsePtr response, bool successful);
28-
void OnRequestProgress(FHttpRequestPtr request, int32 sent, int32 received);
28+
void OnRequestProgress(FHttpRequestPtr request, uint64 sent, uint64 received);
2929

3030
void SetPyHttpRequest(ue_PyIHttpRequest *request)
3131
{

Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp

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

33
#include "UEPyFGeometry.h"
4+
#if defined(__clang__)
5+
_Pragma("clang diagnostic push") \
6+
_Pragma("clang diagnostic ignored \"-Wshadow\"")
7+
#elif defined(_MSC_VER)
8+
#pragma warning(push)
9+
#pragma warning(disable:6294) /* Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. */
10+
#pragma warning(disable:6326) /* Potential comparison of a constant with another constant. */
11+
#pragma warning(disable:4456) /* declaration of 'LocalVariable' hides previous local declaration */
12+
#pragma warning(disable:4457) /* declaration of 'LocalVariable' hides function parameter */
13+
#pragma warning(disable:4458) /* declaration of 'LocalVariable' hides class member */
14+
#pragma warning(disable:4459) /* declaration of 'LocalVariable' hides global declaration */
15+
#pragma warning(disable:6244) /* local declaration of <variable> hides previous declaration at <line> of <file> */
16+
#pragma warning(disable:4702) /* unreachable code */
17+
#pragma warning(disable:4100) /* unreachable code */
18+
#endif
419

520
static FSlateBrush global_simple_brush;
621

Source/UnrealEnginePython/Private/UEPyEditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1143,7 +1143,7 @@ PyObject *py_unreal_engine_get_assets_by_class(PyObject * self, PyObject * args)
11431143
TArray<FAssetData> assets;
11441144

11451145
FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked<FAssetRegistryModule>("AssetRegistry");
1146-
AssetRegistryModule.Get().GetAssetsByClass(UTF8_TO_TCHAR(path), assets, recursive);
1146+
AssetRegistryModule.Get().GetAssetsByClass(FTopLevelAssetPath(UTF8_TO_TCHAR(path)), assets, recursive);
11471147

11481148
PyObject *assets_list = PyList_New(0);
11491149

Source/UnrealEnginePython/Private/UEPyEngine.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,7 +1098,7 @@ PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args)
10981098
#endif
10991099
if (!u_package)
11001100
return PyErr_Format(PyExc_Exception, "unable to create package");
1101-
u_package->FileName = *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), FPackageName::GetAssetPackageExtension());
1101+
u_package->Rename( *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), FPackageName::GetAssetPackageExtension()));
11021102

11031103
u_package->FullyLoad();
11041104
u_package->MarkPackageDirty();
@@ -1127,7 +1127,7 @@ PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args
11271127
#endif
11281128
if (!u_package)
11291129
return PyErr_Format(PyExc_Exception, "unable to create package");
1130-
u_package->FileName = *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), FPackageName::GetAssetPackageExtension());
1130+
u_package->Rename( *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), FPackageName::GetAssetPackageExtension()));
11311131

11321132
u_package->FullyLoad();
11331133
u_package->MarkPackageDirty();

Source/UnrealEnginePython/Private/UEPyModule.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4315,7 +4315,7 @@ PyObject* py_ue_ufunction_call(UFunction* u_function, UObject* u_obj, PyObject*
43154315
if (!default_key_value.IsEmpty())
43164316
{
43174317
#if ENGINE_MAJOR_VERSION == 5 || (ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION >= 17)
4318-
prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(buffer), PPF_None, NULL);
4318+
prop->ImportText_Direct(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(buffer), nullptr, PPF_None, NULL);
43194319
#else
43204320
prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(buffer), PPF_Localized, NULL);
43214321
#endif
@@ -5277,7 +5277,7 @@ UFunction* unreal_engine_add_function(UClass* u_class, char* name, PyObject* py_
52775277
if (ucp)
52785278
{
52795279
#if ENGINE_MAJOR_VERSION == 5 || (ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION >= 25)
5280-
UE_LOG(LogPython, Warning, TEXT("Parent FClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass, *ucp->MetaClass->GetName());
5280+
//UE_LOG(LogPython, Warning, TEXT("Parent FClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass.Get(), *ucp->MetaClass->GetName());
52815281
#else
52825282
UE_LOG(LogPython, Warning, TEXT("Parent UClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass, *ucp->MetaClass->GetName());
52835283
#endif
@@ -5309,7 +5309,7 @@ UFunction* unreal_engine_add_function(UClass* u_class, char* name, PyObject* py_
53095309
if (ucp)
53105310
{
53115311
#if ENGINE_MAJOR_VERSION == 5 || (ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION >= 25)
5312-
UE_LOG(LogPython, Warning, TEXT("Function FClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass, *ucp->MetaClass->GetName());
5312+
//UE_LOG(LogPython, Warning, TEXT("Function FClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass.Get(), *ucp->MetaClass->GetName());
53135313
#else
53145314
UE_LOG(LogPython, Warning, TEXT("Function UClassProperty = %p %s %p %s"), ucp->PropertyClass, *ucp->PropertyClass->GetName(), ucp->MetaClass, *ucp->MetaClass->GetName());
53155315
#endif

Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#include "UEPyAnimSequence.h"
1+
#include "UEPyAnimSequence.h"// 添加 BlendSpace 头文件
2+
#include "Animation/BlendSpace.h"
23

34

45
PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args)
@@ -335,16 +336,17 @@ PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args)
335336
if (!PyArg_ParseTuple(args, "i:get_blend_parameter", &index))
336337
return nullptr;
337338

338-
UBlendSpaceBase *blend = ue_py_check_type<UBlendSpaceBase>(self);
339-
if (!blend)
340-
return PyErr_Format(PyExc_Exception, "UObject is not a UBlendSpaceBase.");
339+
//UBlendSpaceBase *blend = ue_py_check_type<UBlendSpaceBase>(self);
340+
//if (!blend)
341+
// return PyErr_Format(PyExc_Exception, "UObject is not a UBlendSpaceBase.");
341342

342-
if (index < 0 || index > 2)
343-
return PyErr_Format(PyExc_Exception, "invalid Blend Parameter index");
343+
//if (index < 0 || index > 2)
344+
// return PyErr_Format(PyExc_Exception, "invalid Blend Parameter index");
344345

345-
const FBlendParameter & parameter = blend->GetBlendParameter(index);
346+
//const FBlendParameter & parameter = blend->GetBlendParameter(index);
346347

347-
return py_ue_new_owned_uscriptstruct(FBlendParameter::StaticStruct(), (uint8 *)&parameter);
348+
//return py_ue_new_owned_uscriptstruct(FBlendParameter::StaticStruct(), (uint8 *)&parameter);
349+
return nullptr;
348350
}
349351

350352
PyObject *py_ue_set_blend_parameter(ue_PyUObject * self, PyObject * args)
@@ -356,20 +358,20 @@ PyObject *py_ue_set_blend_parameter(ue_PyUObject * self, PyObject * args)
356358
if (!PyArg_ParseTuple(args, "iO:get_blend_parameter", &index, &py_blend))
357359
return nullptr;
358360

359-
UBlendSpaceBase *blend = ue_py_check_type<UBlendSpaceBase>(self);
360-
if (!blend)
361-
return PyErr_Format(PyExc_Exception, "UObject is not a UBlendSpaceBase.");
361+
//UBlendSpaceBase *blend = ue_py_check_type<UBlendSpaceBase>(self);
362+
//if (!blend)
363+
// return PyErr_Format(PyExc_Exception, "UObject is not a UBlendSpaceBase.");
362364

363-
if (index < 0 || index > 2)
364-
return PyErr_Format(PyExc_Exception, "invalid Blend Parameter index");
365+
//if (index < 0 || index > 2)
366+
// return PyErr_Format(PyExc_Exception, "invalid Blend Parameter index");
365367

366-
FBlendParameter *parameter = ue_py_check_struct<FBlendParameter>(py_blend);
367-
if (!parameter)
368-
return PyErr_Format(PyExc_Exception, "argument is not a FBlendParameter");
368+
//FBlendParameter *parameter = ue_py_check_struct<FBlendParameter>(py_blend);
369+
//if (!parameter)
370+
// return PyErr_Format(PyExc_Exception, "argument is not a FBlendParameter");
369371

370-
const FBlendParameter & orig_parameter = blend->GetBlendParameter(index);
372+
//const FBlendParameter & orig_parameter = blend->GetBlendParameter(index);
371373

372-
FMemory::Memcpy((uint8 *)&orig_parameter, parameter, FBlendParameter::StaticStruct()->GetStructureSize());
374+
//FMemory::Memcpy((uint8 *)&orig_parameter, parameter, FBlendParameter::StaticStruct()->GetStructureSize());
373375

374376
Py_RETURN_NONE;
375377
}

Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include "UEPyModule.h"
44
#include "Animation/AnimSequence.h"
5-
#include "Animation/BlendSpaceBase.h"
5+
//#include "Animation/BlendSpaceBase.h"
66
#include "Animation/AnimMontage.h"
77
#include "Wrappers/UEPyFRawAnimSequenceTrack.h"
88

Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ PyObject *py_ue_sound_get_data(ue_PyUObject *self, PyObject * args)
7979
if (!sound)
8080
return PyErr_Format(PyExc_Exception, "UObject is not a USoundWave.");
8181

82-
UE::Serialization::FEditorBulkData raw_data = sound->RawData;
82+
USoundWave::FEditorAudioBulkData raw_data = sound->RawData;
8383

8484
FSharedBuffer Buffer = raw_data.GetPayload().Get();
8585
//char *data = (char *)raw_data.Lock(LOCK_READ_ONLY);

Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,7 +1217,7 @@ PyObject *py_ue_broadcast(ue_PyUObject *self, PyObject *args)
12171217
if (!default_key_value.IsEmpty())
12181218
{
12191219
#if ENGINE_MAJOR_VERSION == 5 || (ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION >= 17)
1220-
prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(parms), PPF_None, NULL);
1220+
prop->ImportText_Direct(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(parms), nullptr, PPF_None, NULL);
12211221
#else
12221222
prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr<uint8>(parms), PPF_Localized, NULL);
12231223
#endif
@@ -2794,7 +2794,7 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args)
27942794
if (!package)
27952795
return PyErr_Format(PyExc_Exception, "unable to create package");
27962796

2797-
package->FileName = *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension());
2797+
package->Rename( *FPackageName::LongPackageNameToFilename(UTF8_TO_TCHAR(name), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension()));
27982798
if (has_package)
27992799
{
28002800
FString split_path;
@@ -2824,19 +2824,19 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args)
28242824
package->FullyLoad();
28252825
package->MarkPackageDirty();
28262826

2827-
if (package->FileName.IsNone())
2827+
if (package->GetName().IsEmpty())
28282828
{
2829-
package->FileName = *FPackageName::LongPackageNameToFilename(*package->GetPathName(), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension());
2830-
UE_LOG(LogPython, Warning, TEXT("no file mapped to UPackage %s, setting its FileName to %s"), *package->GetPathName(), *package->FileName.ToString());
2829+
package->Rename( *FPackageName::LongPackageNameToFilename(*package->GetPathName(), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension()));
2830+
UE_LOG(LogPython, Warning, TEXT("no file mapped to UPackage %s, setting its FileName to %s"), *package->GetPathName(), *package->GetName());
28312831
}
28322832

28332833
// NOTE: FileName may not be a fully qualified filepath
2834-
if (FPackageName::IsValidLongPackageName(package->FileName.ToString()))
2834+
if (FPackageName::IsValidLongPackageName(package->GetName()))
28352835
{
2836-
package->FileName = *FPackageName::LongPackageNameToFilename(package->GetPathName(), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension());
2836+
package->Rename( *FPackageName::LongPackageNameToFilename(package->GetPathName(), bIsMap ? FPackageName::GetMapPackageExtension() : FPackageName::GetAssetPackageExtension()));
28372837
}
28382838

2839-
if (UPackage::SavePackage(package, u_object, RF_Standalone, *package->FileName.ToString()))
2839+
if (UPackage::SavePackage(package, u_object, RF_Standalone, *package->GetName()))
28402840
{
28412841
FAssetRegistryModule::AssetCreated(u_object);
28422842
Py_RETURN_UOBJECT(u_object);

0 commit comments

Comments
 (0)