UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ScriptSerialization.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#include "HAL/Platform.h"
4
5// [[ IncludeTool: Inline ]] // Markup to tell IncludeTool that this file is state changing and cannot be optimized out.
6
11#ifdef VISUAL_ASSIST_HACK
12 EExprToken SerializeExpr( int32&, FArchive& );
13 int32 iCode=0;
14 FNullArchive Ar;
17#endif
18
19#ifndef XFER
20#define XFER(T) \
21 { \
22 T Temp; \
23 if (!Ar.IsLoading()) \
24 { \
25 Temp = FPlatformMemory::ReadUnaligned<T>(&Script[iCode]); \
26 } \
27 Ar << Temp; \
28 if (!Ar.IsSaving()) \
29 { \
30 FPlatformMemory::WriteUnaligned<T>(&Script[iCode], Temp); \
31 } \
32 iCode += sizeof(T); \
33 }
34#endif
35
36//FScriptName
37#ifndef XFERNAME
38 #define XFERNAME() \
39 { \
40 FName Name; \
41 FScriptName ScriptName; \
42 if (!Ar.IsLoading()) \
43 { \
44 FMemory::Memcpy( &ScriptName, &Script[iCode], sizeof(FScriptName) ); \
45 Name = ScriptNameToName(ScriptName); \
46 } \
47 Ar << Name; \
48 if (!Ar.IsSaving()) \
49 { \
50 ScriptName = NameToScriptName(Name); \
51 FMemory::Memcpy( &Script[iCode], &ScriptName, sizeof(FScriptName) ); \
52 } \
53 iCode += sizeof(FScriptName); \
54 }
55#endif //XFERNAME
56
57// ASCII string
58#ifndef XFERSTRING
59 #define XFERSTRING() \
60 { \
61 do XFER(uint8) while( Script[iCode-1] ); \
62 }
63#endif //XFERSTRING
64
65// UTF-16 string
66#ifndef XFERUNICODESTRING
67 #define XFERUNICODESTRING() \
68 { \
69 do XFER(uint16) while( Script[iCode-1] || Script[iCode-2] ); \
70 }
71#endif //XFERUNICODESTRING
72
73//FText
74#ifndef XFERTEXT
75 #define XFERTEXT() \
76 { \
77 XFER(uint8); \
78 const EBlueprintTextLiteralType TextLiteralType = (EBlueprintTextLiteralType)Script[iCode - 1]; \
79 switch (TextLiteralType) \
80 { \
81 case EBlueprintTextLiteralType::Empty: \
82 break; \
83 case EBlueprintTextLiteralType::LocalizedText: \
84 SerializeExpr( iCode, Ar ); \
85 SerializeExpr( iCode, Ar ); \
86 SerializeExpr( iCode, Ar ); \
87 break; \
88 case EBlueprintTextLiteralType::InvariantText: \
89 SerializeExpr( iCode, Ar ); \
90 break; \
91 case EBlueprintTextLiteralType::LiteralString: \
92 SerializeExpr( iCode, Ar ); \
93 break; \
94 case EBlueprintTextLiteralType::StringTableEntry: \
95 XFER_OBJECT_POINTER( UObject* ); \
96 FIXUP_EXPR_OBJECT_POINTER( UObject* ); \
97 SerializeExpr( iCode, Ar ); \
98 SerializeExpr( iCode, Ar ); \
99 break; \
100 default: \
101 checkf(false, TEXT("Unknown EBlueprintTextLiteralType! Please update XFERTEXT to handle this type of text.")); \
102 break; \
103 } \
104 }
105#endif //XFERTEXT
106
107#ifndef XFERPTR
108 #define XFERPTR(T) \
109 { \
110 T AlignedPtr = NULL; \
111 ScriptPointerType TempCode; \
112 if (!Ar.IsLoading()) \
113 { \
114 FMemory::Memcpy( &TempCode, &Script[iCode], sizeof(ScriptPointerType) ); \
115 AlignedPtr = (T)(TempCode); \
116 } \
117 Ar << AlignedPtr; \
118 if (!Ar.IsSaving()) \
119 { \
120 TempCode = (ScriptPointerType)(AlignedPtr); \
121 FMemory::Memcpy( &Script[iCode], &TempCode, sizeof(ScriptPointerType) ); \
122 } \
123 iCode += sizeof(ScriptPointerType); \
124 }
125#endif // XFERPTR
126
127#ifndef XFERTOBJPTR
128 #define XFERTOBJPTR() \
129 { \
130 TObjectPtr<UObject> AlignedPtr; \
131 if (!Ar.IsLoading()) \
132 { \
133 FMemory::Memcpy(&AlignedPtr, &Script[iCode], sizeof(ScriptPointerType)); \
134 } \
135 Ar << AlignedPtr; \
136 if (!Ar.IsSaving()) \
137 { \
138 FMemory::Memcpy(&Script[iCode], &AlignedPtr, sizeof(ScriptPointerType)); \
139 } \
140 iCode += sizeof(ScriptPointerType); \
141 }
142#endif // XFERTOBJPTR
143
144#ifndef XFER_FUNC_POINTER
145 #define XFER_FUNC_POINTER XFERPTR(UStruct*)
146#endif // XFER_FUNC_POINTER
147
148#ifndef XFER_FUNC_NAME
149 #define XFER_FUNC_NAME XFERNAME()
150#endif // XFER_FUNC_NAME
151
152#ifndef XFER_PROP_POINTER
153 #define XFER_PROP_POINTER XFERPTR(FProperty*)
154#endif
155
156#ifndef XFER_OBJECT_POINTER
157 #define XFER_OBJECT_POINTER(Type) XFERPTR(Type)
158#endif
159
160#ifndef XFER_TOBJECT_PTR
161 #define XFER_TOBJECT_PTR XFERTOBJPTR
162#endif
163
164#ifndef FIXUP_EXPR_OBJECT_POINTER
165 // sometimes after a UOBject* expression is loaded it may require some post-
166 // processing (see: the overridden FIXUP_EXPR_OBJECT_POINTER(), defined in Class.cpp)
167 #define FIXUP_EXPR_OBJECT_POINTER(Type)
168#endif
169
171#ifdef SERIALIZEEXPR_INC
172 EExprToken Expr=(EExprToken)0;
173
174 // Get expr token.
175 XFER(uint8);
176 Expr = (EExprToken)Script[iCode-1];
177
178 switch( Expr )
179 {
180 case EX_Cast:
181 {
182 // A type conversion.
183 XFER(uint8); //which kind of conversion
184 SerializeExpr( iCode, Ar );
185 break;
186 }
190 {
191 // A conversion from an object or interface variable to a native interface variable.
192 // We use a different bytecode to avoid the branching each time we process a cast token.
193
194 XFER_OBJECT_POINTER(UClass*); // the interface class to convert to
196
197 SerializeExpr( iCode, Ar );
198 break;
199 }
200 case EX_Let:
201 {
203 }
204 case EX_LetObj:
205 case EX_LetWeakObjPtr:
206 case EX_LetBool:
207 case EX_LetDelegate:
209 {
210 SerializeExpr( iCode, Ar ); // Variable expr.
211 SerializeExpr( iCode, Ar ); // Assignment expr.
212 break;
213 }
215 {
216 XFER_PROP_POINTER; // Destination property.
217 SerializeExpr(iCode, Ar); // Assignment expr.
218 break;
219 }
221 {
222 XFERPTR(FProperty*); // struct member expr.
223 SerializeExpr( iCode, Ar ); // struct expr.
224 break;
225 }
226 case EX_Jump:
227 {
228 XFER(CodeSkipSizeType); // Code offset.
229 break;
230 }
231 case EX_ComputedJump:
232 {
233 SerializeExpr( iCode, Ar ); // Integer expression, specifying code offset.
234 break;
235 }
236 case EX_LocalVariable:
241 case EX_PropertyConst:
242 {
244 break;
245 }
247 {
248 SerializeExpr(iCode,Ar);
249 break;
250 }
252 {
253 XFER(CodeSkipSizeType); // location to push
254 break;
255 }
256 case EX_NothingInt32:
257 {
258 XFER(int32);
259 break;
260 }
261 case EX_Nothing:
262 case EX_EndOfScript:
265 case EX_EndArray:
266 case EX_EndArrayConst:
267 case EX_EndSet:
268 case EX_EndMap:
269 case EX_EndSetConst:
270 case EX_EndMapConst:
271 case EX_IntZero:
272 case EX_IntOne:
273 case EX_True:
274 case EX_False:
275 case EX_NoObject:
276 case EX_NoInterface:
277 case EX_Self:
278 case EX_EndParmValue:
281 {
282 break;
283 }
285 case EX_Tracepoint:
286 {
287 break;
288 }
289 case EX_Breakpoint:
290 {
291 if (Ar.IsLoading())
292 {
293 // Turn breakpoints into tracepoints on load
295 }
296 break;
297 }
299 {
301 {
302 iCode += sizeof(FScriptName);
303 }
304 iCode += sizeof(uint8);
305 break;
306 }
307 case EX_Return:
308 {
309 SerializeExpr( iCode, Ar ); // Return expression.
310 break;
311 }
312 case EX_CallMath:
314 case EX_FinalFunction:
315 {
316 XFER_FUNC_POINTER; // Stack node.
318 while( SerializeExpr( iCode, Ar ) != EX_EndFunctionParms ); // Parms.
319 break;
320 }
323 {
324 XFER_FUNC_NAME; // Virtual function name.
325 while( SerializeExpr( iCode, Ar ) != EX_EndFunctionParms ); // Parms.
326 break;
327 }
329 {
330 XFER_FUNC_POINTER; // Stack node.
332 while( SerializeExpr( iCode, Ar ) != EX_EndFunctionParms ); // Parms.
333 break;
334 }
335 case EX_ClassContext:
336 case EX_Context:
338 {
339 SerializeExpr( iCode, Ar ); // Object expression.
340 XFER(CodeSkipSizeType); // Code offset for NULL expressions.
341 XFERPTR(FField*); // Property corresponding to the r-value data, in case the l-value needs to be mem-zero'd
342 SerializeExpr( iCode, Ar ); // Context expression.
343 break;
344 }
347 {
348 SerializeExpr( iCode, Ar ); // Delegate property to assign to
349 SerializeExpr( iCode, Ar ); // Delegate to add to the MC delegate for broadcast
350 break;
351 }
353 {
354 SerializeExpr( iCode, Ar ); // Delegate property to clear
355 break;
356 }
357 case EX_IntConst:
358 {
359 XFER(int32);
360 break;
361 }
362 case EX_Int64Const:
363 {
364 XFER(int64);
365 break;
366 }
367 case EX_UInt64Const:
368 {
369 XFER(uint64);
370 break;
371 }
373 {
375 break;
376 }
377 case EX_FloatConst:
378 {
379 XFER(float);
380 break;
381 }
382 case EX_DoubleConst:
383 {
384 XFER(double);
385 break;
386 }
387 case EX_StringConst:
388 {
389 XFERSTRING();
390 break;
391 }
393 {
395 break;
396 }
397 case EX_TextConst:
398 {
399 XFERTEXT();
400 break;
401 }
402 case EX_ObjectConst:
403 {
406
407 break;
408 }
410 {
411 // if collecting references inform the archive of the reference:
412 if (Ar.IsSaving() && Ar.IsObjectReferenceCollector())
413 {
414 XFER(uint8);
415 Expr = (EExprToken)Script[iCode - 1];
416 check(Expr == EX_StringConst || Expr == EX_UnicodeStringConst);
417 FString LongPath;
418 if (Expr == EX_StringConst)
419 {
421 XFERSTRING();
422 }
423 else
424 {
425 LongPath = FString((UCS2CHAR*)&Script[iCode]);
426
427 // Inline combine any surrogate pairs in the data when loading into a UTF-32 string
430 }
432 Ar << Path;
433 // we can't patch the path, but we could log an attempt to do so
434 // or change the implementation to support patching (allocating
435 // these strings in a special region or distinct object)
436 }
437 else
438 {
439 // else just write the string literal instructions:
440 SerializeExpr(iCode, Ar);
441 }
442 break;
443 }
445 {
446 SerializeExpr(iCode, Ar);
447 break;
448 }
449 case EX_NameConst:
450 {
451 XFERNAME();
452 break;
453 }
454 case EX_RotationConst:
455 {
457 {
459 }
460 else
461 {
463 }
464 break;
465 }
466 case EX_VectorConst:
467 {
469 {
470 XFER(double); XFER(double); XFER(double);
471 }
472 else
473 {
474 XFER(float); XFER(float); XFER(float);
475 }
476 break;
477 }
478 case EX_Vector3fConst:
479 {
480 XFER(float); XFER(float); XFER(float);
481 break;
482 }
484 {
486 {
487 // Rotation
488 XFER(double); XFER(double); XFER(double); XFER(double);
489 // Translation
490 XFER(double); XFER(double); XFER(double);
491 // Scale
492 XFER(double); XFER(double); XFER(double);
493 }
494 else
495 {
496 // Rotation
497 XFER(float); XFER(float); XFER(float); XFER(float);
498 // Translation
499 XFER(float); XFER(float); XFER(float);
500 // Scale
501 XFER(float); XFER(float); XFER(float);
502 }
503 break;
504 }
505 case EX_StructConst:
506 {
507 XFERPTR(UScriptStruct*); // Struct.
508 XFER(int32); // Serialized struct size
509 while( SerializeExpr( iCode, Ar ) != EX_EndStructConst );
510 break;
511 }
512 case EX_SetArray:
513 {
514 // If not loading, or its a newer version
515 if((!GetLinker()) || !Ar.IsLoading() || (Ar.UEVer() >= VER_UE4_CHANGE_SETARRAY_BYTECODE))
516 {
517 // Array property to assign to
518 EExprToken TargetToken = SerializeExpr( iCode, Ar );
519 }
520 else
521 {
522 // Array Inner Prop
524 }
525
526 while( SerializeExpr( iCode, Ar) != EX_EndArray );
527 break;
528 }
529 case EX_SetSet:
530 SerializeExpr( iCode, Ar ); // set property
531 XFER(int32); // Number of elements
532 while( SerializeExpr( iCode, Ar) != EX_EndSet );
533 break;
534 case EX_SetMap:
535 SerializeExpr( iCode, Ar ); // map property
536 XFER(int32); // Number of elements
537 while( SerializeExpr( iCode, Ar) != EX_EndMap );
538 break;
539 case EX_ArrayConst:
540 {
541 XFERPTR(FProperty*); // Inner property
542 XFER(int32); // Number of elements
543 while (SerializeExpr(iCode, Ar) != EX_EndArrayConst);
544 break;
545 }
546 case EX_SetConst:
547 {
548 XFERPTR(FProperty*); // Inner property
549 XFER(int32); // Number of elements
550 while (SerializeExpr(iCode, Ar) != EX_EndSetConst);
551 break;
552 }
553 case EX_MapConst:
554 {
555 XFERPTR(FProperty*); // Key property
556 XFERPTR(FProperty*); // Val property
557 XFER(int32); // Number of elements
558 while (SerializeExpr(iCode, Ar) != EX_EndMapConst);
559 break;
560 }
561 case EX_BitFieldConst:
562 {
563 XFERPTR(FProperty*); // Bit property
564 XFER(uint8); // bit value
565 break;
566 }
567 case EX_ByteConst:
568 case EX_IntConstByte:
569 {
570 XFER(uint8);
571 break;
572 }
573 case EX_MetaCast:
574 {
577
578 SerializeExpr( iCode, Ar );
579 break;
580 }
581 case EX_DynamicCast:
582 {
585
586 SerializeExpr( iCode, Ar );
587 break;
588 }
589 case EX_JumpIfNot:
590 {
591 XFER(CodeSkipSizeType); // Code offset.
592 SerializeExpr( iCode, Ar ); // Boolean expr.
593 break;
594 }
596 {
597 SerializeExpr( iCode, Ar ); // Boolean expr.
598 break;
599 }
600 case EX_Assert:
601 {
602 XFER(uint16); // Line number.
603 XFER(uint8); // debug mode or not
604 SerializeExpr( iCode, Ar ); // Assert expr.
605 break;
606 }
607 case EX_Skip:
608 {
609 XFER(CodeSkipSizeType); // Skip size.
610 SerializeExpr( iCode, Ar ); // Expression to possibly skip.
611 break;
612 }
614 {
615 XFER_FUNC_NAME; // the name of the function assigned to the delegate.
616 break;
617 }
618 case EX_BindDelegate:
619 {
621 SerializeExpr( iCode, Ar ); // Delegate property to assign to
622 SerializeExpr( iCode, Ar );
623 break;
624 }
625 case EX_SwitchValue:
626 {
627 XFER(uint16); // number of cases, without default one
628 const uint16 NumCases = FPlatformMemory::ReadUnaligned<uint16>(&Script[iCode - sizeof(uint16)]);
629 XFER(CodeSkipSizeType); // Code offset, go to it, when done.
630 SerializeExpr(iCode, Ar); //index term
631
633 {
634 SerializeExpr(iCode, Ar); // case index value term
635 XFER(CodeSkipSizeType); // offset to the next case
636 SerializeExpr(iCode, Ar); // case term
637 }
638
639 SerializeExpr(iCode, Ar); //default term
640 break;
641 }
642 case EX_ArrayGetByRef:
643 {
644 SerializeExpr( iCode, Ar );
645 SerializeExpr( iCode, Ar );
646 break;
647 }
649 {
650 XFER(int32); // Transaction id
651 XFER(CodeSkipSizeType); // Code offset.
652 while( SerializeExpr( iCode, Ar ) != EX_AutoRtfmStopTransact ); // Parms.
653 break;
654 }
656 {
657 XFER(int32); // transaction id
658 XFER(int8); // stop mode
659 break;
660 }
662 {
663 SerializeExpr(iCode,Ar);
664 break;
665 }
666 default:
667 {
668 // This should never occur.
669 UE_LOG(LogScriptSerialization, Warning, TEXT("Error: Unknown bytecode 0x%02X; ignoring it"), (uint8)Expr );
670 break;
671 }
672 }
673
674#endif //SERIALIZEEXPR_INC
675
676
677#ifdef SERIALIZEEXPR_AUTO_UNDEF_XFER_MACROS
678 #undef XFER
679 #undef XFERPTR
680 #undef XFERNAME
681 #undef XFERSTRING
682 #undef XFERUNICODESTRING
683 #undef XFERTEXT
684 #undef XFER_FUNC_POINTER
685 #undef XFER_FUNC_NAME
686 #undef XFER_PROP_POINTER
687 #undef FIXUP_EXPR_OBJECT_POINTER
688#endif //SERIALIZEEXPR_AUTO_UNDEF_XFER_MACROS
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::CHAR16 UCS2CHAR
A 16-bit character containing a UCS2 (Unicode, 16-bit, fixed-width) code unit, used for compatibility...
Definition Platform.h:1139
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
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
#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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
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 Field.h:556
Definition NullArchive.h:7
Definition UnrealType.h:174
Definition Array.h:670
Definition Class.h:3793
Definition Class.h:1720
Definition Class.h:480
@ 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