Commit Graph

376 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Jaroslaw Palczynski
399074d7ea DonÆt default to æpublicÆ protection level in classes.
UECORE-8

[CL 2327190 by Jaroslaw Palczynski in Main branch]
2014-10-13 10:31:50 -04:00
Jaroslaw Palczynski
cc0f6d9a4e UObject custom constructors.
In order to use new feature user have to change GENERATED_UCLASS_BODY() macro to the new GENERATED_BODY(). Then no constructor is implicitly declared. If there is no constructor declared in UCLASS then PCIP one is declared and defined that passes PCIP down to super-class. On the other hand if there is a constructor declared then UObject system expects to have one of the default or PCIP constructor to initialize a class during loading from disk, default object creation, etc. and it expects that user will declare and define one.

There is a possibility now to create UCLASS with the default constructor (i.e. no PCIP).

New macro is encouraged by standard classes and in-editor wizards templates.

#codereview Robert.Manuszewski

[CL 2325282 by Jaroslaw Palczynski in Main branch]
2014-10-10 04:34:56 -04:00
Michael Noland
928559eaa0 Editor: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2316341 by Michael Noland in Main branch]
2014-10-01 14:45:23 -04:00
Mikolaj Sieluzycki
f7729605e0 Disable deprecation warnings in generated code.
#codereview Steve.Robb

[CL 2315678 by Mikolaj Sieluzycki in Main branch]
2014-10-01 05:47:47 -04:00
Steve Robb
04d7d74f86 Minor fixes to new casts.
* InterfaceCast deprecation version number changed to 4.6.
* Double-underscored identifiers replaced with names which aren't reserved.

#codereview robert.manuszewski,mike.fricker

[CL 2314098 by Steve Robb in Main branch]
2014-09-30 07:30:24 -04:00
Steve Robb
35c2fea8c4 Cast unification.
* Cast can be used for every UClass/interface cast:
  - Up/down UObject hierarchy.
  - From interfaces to UObjects.
  - From UObjects to interfaces.
  - Between interfaces.
* InterfaceCast has been deprecated.
* dynamic_cast can now be used instead of Cast.
* dynamic_cast between two UType pointers will be equivalent to Cast, but with dynamic_cast syntax and semantics.
* dynamic_cast of references is equivalent to a CastChecked - if it fails, it will fatally log rather than throw a std::bad_cast exception (UE doesn't support exceptions).
* If the two types involved are not UTypes, it should continue to act like a normal dynamic_cast.
* dynamic_cast<void*> works as expected.
* All/many Casts in CoreUObject changed to dynamic_cast to show this behaviour.
* Some refactoring.

#codereview robert.manuszewski,mike.fricker

[CL 2312800 by Steve Robb in Main branch]
2014-09-29 09:24:50 -04:00
Robert Manuszewski
343352654a UObjects: no longer require dummy UClasses in UStruct-only modules.
#change Added code to make sure the script package is created before UEnums and UStructs get registered

[CL 2306655 by Robert Manuszewski in Main branch]
2014-09-23 05:12:53 -04:00
Josh Adams
4cec25879d - No longer compile Engine.generated.1.cpp and .2.cpp together, as the large resulting code is crashing x86 android compiler.
- Fixed a couple issues with Android fat binaries (cleaning and obb being archived multiple times)
- Touched Engine.h to force a UHT refresh
#codereview Robert.Manuszewski

[CL 2305487 by Josh Adams in Main branch]
2014-09-22 09:46:58 -04:00
Robert Manuszewski
3144ce46a8 Removing references to MakeCommandlet from code
[CL 2302207 by Robert Manuszewski in Main branch]
2014-09-18 04:05:01 -04:00
Billy Bramer
087e56e66a Merging using UE4-Fortnite-To-UE4 from CL 2261973
Includes the following engine-level changes (among others; biggest change is enabling world assets by default):

CL 2252857
added dynamic allocations for path finding, removed hardcoded limit of 128 polys in path corridor

CL 2256142
Added support for native arrays in JSON object converter.

- Permissive in treating arrays of size 1 and scalars as equivalent
- Excess elements in JSON are ignored. Serialization succeeds but a warning is logged

CL 2256073
Fixed a bug in ARecastNavMesh::BatchRaycast resulting in NaN hit locations

CL 2253797
#UE4 More aggressively setting RF_Public and RF_Standalone flags on maps and ensuring world names match package names. This is necessary because umaps are currently being managed outside of the content browser and it is causing a few issues. Also, packages containing maps now synthesize asset data when the package contains absolutely no asset data (probably because the UWorld in it was not RF_Public at the time it was saved due to a previous bug).

CL 2258142
#UE4 Added a GC during map load that reclaims memory allocated during load/init. This is needed to finish the load on low-memory devices in games that allocate more memory after load.

CL 2247003
Added homing to ProjectileMovementComponent

- Homing requires both a bool and a target component to be set, the strength is determined by a customizable variable
- Both homing and gravity are now applied in the new virtual function "CalculateAcceleration"

CL 2247249
Moved the homing modification to acceleration occur in a separate function specifically for homing

CL 2257043
- Guard net dormancy calls against executing on clients, based on thread with DaveR and JohnP; This particular case was the result of an intentionally client-authoritative actor calling the dormancy functions via inheritance

CL 2245629
#UE4 - fixed json TryGetNumber to round negatives appropriately

CL 2255312
#UE4 Enabling World Assets by default.

CL 2260956
Analytics ET now loads HTTP at StartupModule so the module will be available during ShutdownModule to flush events

CL 2245571
GenericTeamAgentInterface can now retrieve attitude of an agent towards a given actor #UE4

- Made PerceptionSystem's sight sense take advantage of that

CL 2246897
Fixed perception listeners not being removed from the PerceptionSystem on Owner's end play #UE4

- addresses TTP#343392

CL 2260634
added more debug data for NaN in crowd simulation

CL 2248387
Added possibility to debug multiple EQS queries with GameplayDebugger. #ue4
Fixed network replication from bandwidth point of view for data in GameplayDebugger. #ue4

CL 2253281
Added additional information to the visual logger for UBTCompositeNode::DoDecoratorsAllowExecution
- We now keep track of whether a decorator allows execution, in addition to the existing log for not allowing execution

CL 2255310
#UE4 The world browser module now listens to WorldAdded/WorldDestroyed events instead of WorldInit/WorldCleanup events. Worlds can be initialized without being the editor world and this handles that case.

CL 2258256
#UE4 Replacing the SOpenLevelDialog with a new generic SAssetDialog. This dialog will be used as a generic Open or Save As dialog for assets.

[CL 2266822 by Billy Bramer in Main branch]
2014-08-21 20:30:51 -04:00
Ben Marsh
720e032b83 Prevent declaring structures in the UCLASS macro when building documentation. Prevents Doxygen from being able to associate the class comment with the class definition.
[CL 2265902 by Ben Marsh in Main branch]
2014-08-21 09:48:57 -04:00
Josh Markiewicz
23a565806e [AUTOMERGE]
#UE4 - changes to _Validate code generation to make it virtual

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2262447 by Josh.Markiewicz on 2014/08/19 09:36:53.

[CL 2262454 by Josh Markiewicz in Main branch]
2014-08-19 09:44:20 -04:00
Mike Fricker
08f9474eb0 Fixed exception-related compile errors with Clang on Windows
- Exceptions are not yet supported in Clang on Windows platform

[CL 2260725 by Mike Fricker in Main branch]
2014-08-18 08:53:57 -04:00
Steve Robb
82fcd06c42 enum class support for UENUMs. Currently only supports enum classes of underlying type uint8, because the property system needs to be updated to handle more than that.
EPropertyReferenceFlags removed too, because it is unused.

#ttp 329394: UHT: Support the C++ "enum class" syntax for UENUMs

#codereview robert.manuszewski

[CL 2252907 by Steve Robb in Main branch]
2014-08-12 08:51:25 -04:00
Robert Manuszewski
26f250c9a2 Hot-reload: support for structural changes for hot-reload (adding/removing properties/classes/structs/enums)
#change Classes will now be defer registered instead of being created during static initialization
#change Added class re-instancing after hot-reload
#change Changes to UHT to keep track of generated code changes
#change Refactored a few CoreUObject delegates to a common namespace struct.

[CL 2235479 by Robert Manuszewski in Main branch]
2014-07-29 02:43:48 -04:00
Robert Manuszewski
e6a88f66a4 UBT will no longer use ini file to get the list of plugins to compile for programs. Removed 'ScriptPlugins' ini setting (replaced with plugin category path).
[CL 2121693 by Robert Manuszewski in Main branch]
2014-06-30 06:19:02 -04:00
Robert Manuszewski
63ef616a62 ScriptPlugins: generated glue files will now be including using relative paths
[CL 2113855 by Robert Manuszewski in Main branch]
2014-06-23 06:27:04 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Steve Robb
4973bd00ac Plugin linker fix
#add Fake linker-only function generated in UHT for every Module.generated.cpp.
#change UELinkerFixups file is now processed *after* running UHT.
#change Fake function called from UELinkerFixups for every statically-linked dependent project.

#codereview robert.manuszewski,jj.hoesing

[CL 2103062 by Steve Robb in Main branch]
2014-06-12 08:08:47 -04:00
Mike Fricker
16d1f0a4fd Always use "override" and "final" keyword on all platforms
[CL 2099153 by Mike Fricker in Main branch]
2014-06-09 11:17:17 -04:00
Matt Kuhlenschmidt
fb672d5990 Removed UAttributeProperty and all related changes
[CL 2091937 by Matt Kuhlenschmidt in Main branch]
2014-06-02 14:20:58 -04:00
Steve Robb
864bd3d8da WIP refactors
#ttp 331467: Make UHT not depend on CoreUObject

#change GScriptHelper made an object instead of a heap-allocated pointer.
#change NameLookupCPP made an object instead of a heap-allocated pointer.
#add FClasses::FindAnyClass added.
#change FClasses construction moved earlier.
#change FClass::GetInnerClass added.
#change More UClasses changed to FClasses.

#codereview robert.manuszewski

[CL 2091696 by Steve Robb in Main branch]
2014-06-02 07:02:29 -04:00
Robert Manuszewski
a05ad646c2 UBT: More detailed module types. ScriptPlugins can now ingore modules by their type.
[CL 2081573 by Robert Manuszewski in Main branch]
2014-05-22 01:20:24 -04:00
Steve Robb
d3d90eafb4 #ttp 333737: UHT should not output anything differently for Rocket - resubmitted after CL# 2068336 was backed out due to UAT rebuild problems.
#change Root module path added to include paths.
#change Plugins now write intermediates to the project folder.
#change All generated #includes are now relative.
#change Updated UHTDebugging.manifest to new format.
#change Android response files now use relative include paths to prevent overly-large response files.
#remove Rocket-specific UHT execution removed.
#remove iOS header hack removed.

#codereview robert.manuszewski,ben.marsh

[CL 2077472 by Steve Robb in Main branch]
2014-05-19 06:57:00 -04:00