11#ifdef VISUAL_ASSIST_HACK
23 if (!Ar.IsLoading()) \
25 Temp = FPlatformMemory::ReadUnaligned<T>(&Script[iCode]); \
30 FPlatformMemory::WriteUnaligned<T>(&Script[iCode], Temp); \
41 FScriptName ScriptName; \
42 if (!Ar.IsLoading()) \
44 FMemory::Memcpy( &ScriptName, &Script[iCode], sizeof(FScriptName) ); \
45 Name = ScriptNameToName(ScriptName); \
50 ScriptName = NameToScriptName(Name); \
51 FMemory::Memcpy( &Script[iCode], &ScriptName, sizeof(FScriptName) ); \
53 iCode += sizeof(FScriptName); \
59 #define XFERSTRING() \
61 do XFER(uint8) while( Script[iCode-1] ); \
66#ifndef XFERUNICODESTRING
67 #define XFERUNICODESTRING() \
69 do XFER(uint16) while( Script[iCode-1] || Script[iCode-2] ); \
78 const EBlueprintTextLiteralType TextLiteralType = (EBlueprintTextLiteralType)Script[iCode - 1]; \
79 switch (TextLiteralType) \
81 case EBlueprintTextLiteralType::Empty: \
83 case EBlueprintTextLiteralType::LocalizedText: \
84 SerializeExpr( iCode, Ar ); \
85 SerializeExpr( iCode, Ar ); \
86 SerializeExpr( iCode, Ar ); \
88 case EBlueprintTextLiteralType::InvariantText: \
89 SerializeExpr( iCode, Ar ); \
91 case EBlueprintTextLiteralType::LiteralString: \
92 SerializeExpr( iCode, Ar ); \
94 case EBlueprintTextLiteralType::StringTableEntry: \
95 XFER_OBJECT_POINTER( UObject* ); \
96 FIXUP_EXPR_OBJECT_POINTER( UObject* ); \
97 SerializeExpr( iCode, Ar ); \
98 SerializeExpr( iCode, Ar ); \
101 checkf(false, TEXT("Unknown EBlueprintTextLiteralType! Please update XFERTEXT to handle this type of text.")); \
110 T AlignedPtr = NULL; \
111 ScriptPointerType TempCode; \
112 if (!Ar.IsLoading()) \
114 FMemory::Memcpy( &TempCode, &Script[iCode], sizeof(ScriptPointerType) ); \
115 AlignedPtr = (T)(TempCode); \
118 if (!Ar.IsSaving()) \
120 TempCode = (ScriptPointerType)(AlignedPtr); \
121 FMemory::Memcpy( &Script[iCode], &TempCode, sizeof(ScriptPointerType) ); \
123 iCode += sizeof(ScriptPointerType); \
128 #define XFERTOBJPTR() \
130 TObjectPtr<UObject> AlignedPtr; \
131 if (!Ar.IsLoading()) \
133 FMemory::Memcpy(&AlignedPtr, &Script[iCode], sizeof(ScriptPointerType)); \
136 if (!Ar.IsSaving()) \
138 FMemory::Memcpy(&Script[iCode], &AlignedPtr, sizeof(ScriptPointerType)); \
140 iCode += sizeof(ScriptPointerType); \
144#ifndef XFER_FUNC_POINTER
145 #define XFER_FUNC_POINTER XFERPTR(UStruct*)
148#ifndef XFER_FUNC_NAME
149 #define XFER_FUNC_NAME XFERNAME()
152#ifndef XFER_PROP_POINTER
153 #define XFER_PROP_POINTER XFERPTR(FProperty*)
156#ifndef XFER_OBJECT_POINTER
157 #define XFER_OBJECT_POINTER(Type) XFERPTR(Type)
160#ifndef XFER_TOBJECT_PTR
161 #define XFER_TOBJECT_PTR XFERTOBJPTR
164#ifndef FIXUP_EXPR_OBJECT_POINTER
167 #define FIXUP_EXPR_OBJECT_POINTER(Type)
171#ifdef SERIALIZEEXPR_INC
184 SerializeExpr(
iCode, Ar );
197 SerializeExpr(
iCode, Ar );
210 SerializeExpr(
iCode, Ar );
211 SerializeExpr(
iCode, Ar );
217 SerializeExpr(
iCode, Ar);
223 SerializeExpr(
iCode, Ar );
233 SerializeExpr(
iCode, Ar );
248 SerializeExpr(
iCode,Ar);
309 SerializeExpr(
iCode, Ar );
339 SerializeExpr(
iCode, Ar );
342 SerializeExpr(
iCode, Ar );
348 SerializeExpr(
iCode, Ar );
349 SerializeExpr(
iCode, Ar );
354 SerializeExpr(
iCode, Ar );
440 SerializeExpr(
iCode, Ar);
446 SerializeExpr(
iCode, Ar);
530 SerializeExpr(
iCode, Ar );
535 SerializeExpr(
iCode, Ar );
578 SerializeExpr(
iCode, Ar );
586 SerializeExpr(
iCode, Ar );
592 SerializeExpr(
iCode, Ar );
597 SerializeExpr(
iCode, Ar );
604 SerializeExpr(
iCode, Ar );
610 SerializeExpr(
iCode, Ar );
621 SerializeExpr(
iCode, Ar );
622 SerializeExpr(
iCode, Ar );
630 SerializeExpr(
iCode, Ar);
634 SerializeExpr(
iCode, Ar);
636 SerializeExpr(
iCode, Ar);
639 SerializeExpr(
iCode, Ar);
644 SerializeExpr(
iCode, Ar );
645 SerializeExpr(
iCode, Ar );
663 SerializeExpr(
iCode,Ar);
677#ifdef SERIALIZEEXPR_AUTO_UNDEF_XFER_MACROS
682 #undef XFERUNICODESTRING
684 #undef XFER_FUNC_POINTER
685 #undef XFER_FUNC_NAME
686 #undef XFER_PROP_POINTER
687 #undef FIXUP_EXPR_OBJECT_POINTER
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
@ VER_UE4_CHANGE_SETARRAY_BYTECODE
Definition ObjectVersion.h:295
@ LARGE_WORLD_COORDINATES
#define XFER_FUNC_POINTER
Definition ScriptSerialization.h:145
#define XFERPTR(T)
Definition ScriptSerialization.h:108
#define XFER_FUNC_NAME
Definition ScriptSerialization.h:149
#define XFER_TOBJECT_PTR
Definition ScriptSerialization.h:161
#define XFERTEXT()
Definition ScriptSerialization.h:75
#define XFERNAME()
Definition ScriptSerialization.h:38
#define XFER_PROP_POINTER
Definition ScriptSerialization.h:153
#define FIXUP_EXPR_OBJECT_POINTER(Type)
Definition ScriptSerialization.h:167
#define XFERUNICODESTRING()
Definition ScriptSerialization.h:67
#define XFERSTRING()
Definition ScriptSerialization.h:59
#define XFER_OBJECT_POINTER(Type)
Definition ScriptSerialization.h:157
#define XFER(T)
Definition ScriptSerialization.h:20
uint32 CodeSkipSizeType
Definition Script.h:67
EExprToken
Definition Script.h:190
@ EX_SkipOffsetConst
Definition Script.h:283
@ EX_WireTracepoint
Definition Script.h:282
@ EX_BitFieldConst
Definition Script.h:209
@ EX_Cast
Definition Script.h:248
@ EX_RemoveMulticastDelegate
Definition Script.h:290
@ EX_LetWeakObjPtr
Definition Script.h:288
@ EX_SetArray
Definition Script.h:241
@ EX_InstanceDelegate
Definition Script.h:267
@ EX_SetSet
Definition Script.h:249
@ EX_StringConst
Definition Script.h:223
@ EX_FieldPathConst
Definition Script.h:301
@ EX_VectorConst
Definition Script.h:227
@ EX_NoInterface
Definition Script.h:237
@ EX_UInt64Const
Definition Script.h:246
@ EX_NameConst
Definition Script.h:225
@ EX_LetDelegate
Definition Script.h:260
@ EX_True
Definition Script.h:231
@ EX_PropertyConst
Definition Script.h:243
@ EX_EndSet
Definition Script.h:250
@ EX_AutoRtfmAbortIfNot
Definition Script.h:306
@ EX_Self
Definition Script.h:215
@ EX_StructConst
Definition Script.h:239
@ EX_ClassContext
Definition Script.h:210
@ EX_EndFunctionParms
Definition Script.h:214
@ EX_LocalVariable
Definition Script.h:192
@ EX_EndOfScript
Definition Script.h:275
@ EX_TextConst
Definition Script.h:233
@ EX_CallMulticastDelegate
Definition Script.h:291
@ EX_LetMulticastDelegate
Definition Script.h:259
@ EX_NoObject
Definition Script.h:234
@ EX_FinalFunction
Definition Script.h:220
@ EX_ArrayConst
Definition Script.h:293
@ EX_MetaCast
Definition Script.h:211
@ EX_LetBool
Definition Script.h:212
@ EX_ObjectConst
Definition Script.h:224
@ EX_ArrayGetByRef
Definition Script.h:299
@ EX_SoftObjectConst
Definition Script.h:295
@ EX_Skip
Definition Script.h:216
@ EX_Jump
Definition Script.h:198
@ EX_PopExecutionFlowIfNot
Definition Script.h:271
@ EX_InstanceVariable
Definition Script.h:193
@ EX_SwitchValue
Definition Script.h:297
@ EX_RotationConst
Definition Script.h:226
@ EX_LetObj
Definition Script.h:287
@ EX_EndArrayConst
Definition Script.h:294
@ EX_Nothing
Definition Script.h:203
@ EX_SetConst
Definition Script.h:253
@ EX_ClearMulticastDelegate
Definition Script.h:285
@ EX_CrossInterfaceCast
Definition Script.h:276
@ EX_Vector3fConst
Definition Script.h:257
@ EX_SetMap
Definition Script.h:251
@ EX_Int64Const
Definition Script.h:245
@ EX_LetValueOnPersistentFrame
Definition Script.h:292
@ EX_InterfaceContext
Definition Script.h:273
@ EX_AutoRtfmTransact
Definition Script.h:304
@ EX_Tracepoint
Definition Script.h:286
@ EX_Assert
Definition Script.h:201
@ EX_EndMapConst
Definition Script.h:256
@ EX_EndArray
Definition Script.h:242
@ EX_ComputedJump
Definition Script.h:270
@ EX_EndStructConst
Definition Script.h:240
@ EX_UnicodeStringConst
Definition Script.h:244
@ EX_JumpIfNot
Definition Script.h:199
@ EX_InstrumentationEvent
Definition Script.h:298
@ EX_MapConst
Definition Script.h:255
@ EX_PopExecutionFlow
Definition Script.h:269
@ EX_ClassSparseDataVariable
Definition Script.h:300
@ EX_EndMap
Definition Script.h:252
@ EX_DefaultVariable
Definition Script.h:194
@ EX_VirtualFunction
Definition Script.h:219
@ EX_NothingInt32
Definition Script.h:204
@ EX_LocalOutVariable
Definition Script.h:264
@ EX_AddMulticastDelegate
Definition Script.h:284
@ EX_EndSetConst
Definition Script.h:254
@ EX_IntConstByte
Definition Script.h:236
@ EX_BindDelegate
Definition Script.h:289
@ EX_IntConst
Definition Script.h:221
@ EX_AutoRtfmStopTransact
Definition Script.h:305
@ EX_TransformConst
Definition Script.h:235
@ EX_FloatConst
Definition Script.h:222
@ EX_Context
Definition Script.h:217
@ EX_Return
Definition Script.h:196
@ EX_ObjToInterfaceCast
Definition Script.h:274
@ EX_InterfaceToObjCast
Definition Script.h:277
@ EX_IntOne
Definition Script.h:230
@ EX_DynamicCast
Definition Script.h:238
@ EX_LocalFinalFunction
Definition Script.h:262
@ EX_CallMath
Definition Script.h:296
@ EX_PushExecutionFlow
Definition Script.h:268
@ EX_LocalVirtualFunction
Definition Script.h:261
@ EX_Context_FailSilent
Definition Script.h:218
@ EX_IntZero
Definition Script.h:229
@ EX_StructMemberContext
Definition Script.h:258
@ EX_DeprecatedOp4A
Definition Script.h:266
@ EX_Breakpoint
Definition Script.h:272
@ EX_False
Definition Script.h:232
@ EX_ByteConst
Definition Script.h:228
@ EX_EndParmValue
Definition Script.h:213
@ EX_Let
Definition Script.h:207
@ EX_DoubleConst
Definition Script.h:247
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
UE_FORCEINLINE_HINT bool IsObjectReferenceCollector() const
Definition Archive.h:456
UE_FORCEINLINE_HINT bool IsSaving() const
Definition Archive.h:248
UE_FORCEINLINE_HINT FPackageFileVersion UEVer() const
Definition Archive.h:204
Definition NullArchive.h:7
Definition UnrealType.h:174
@ InlineEvent
Definition Script.h:352
const FColor Path(255, 255, 255)
CORE_API void InlineCombineSurrogates(FString &Str)
Definition String.cpp:49
Definition NameTypes.h:491
Definition SoftObjectPath.h:56
Definition ObjectPtr.h:488