Commit Graph

212 Commits

Author SHA1 Message Date
Marc Audy
36fd352f49 Allow dynamically adding game name redirects at runtime
[CL 2327200 by Marc Audy in Main branch]
2014-10-13 10:41:51 -04:00
Nick Darnell
d30d26d992 Blueprints/Core/UMG - Improving our reference finding code to not require reseeding a potentially large hashtable with entries many many times. Significantly reduces compile times on blueprints that are used in many places in memory.
[CL 2323209 by Nick Darnell in Main branch]
2014-10-08 16:47:37 -04:00
Nick Darnell
c6b353032e TTP 349085 Arrays don't migrate their values property between UMG previews and templates when migrating an empty array. Turned out to be a bug in our text importer for array properties, we exported empty string for an empty array, but didn't accept empty strings as valid importing text.
[CL 2323193 by Nick Darnell in Main branch]
2014-10-08 16:37:33 -04:00
Andrew Rodham
4ad1b987fc Improved progress reporting in the editor
FScopedSlowTask has been refactored to better allow for nesting of slow operations. This allows us to cascade nested scopes and provide accurate feedback on slow tasks. FScopedSlowTasks now work together when nested inside sub functions. Break up long functions that contain calls to multiple nested FScopedSlowTasks with FScopedSlowTask::EnterProgressFrame().

Example Usage:
void DoSlowWork()
{
    FScopedSlowTask Progress(2.f, LOCTEXT("DoingSlowWork", "Doing Slow Work..."));
    // Optionally make this show a dialog if not already shown
    Progress.MakeDialog();

    // Indicate that we are entering a frame representing 1 unit of work
    Progress.EnterProgressFrame(1.f);

    // DoFirstThing() can follow a similar pattern of creating a scope divided into frames. These contribute to their parent's progress frame proportionately.
    DoFirstThing();

    Progress.EnterProgressFrame(1.f);
    DoSecondThing();
}

This addresses TTP#338602 - NEEDS REVIEW: Editor progress bars nearly always just show 100%, don't offer useful indication of progress

[CL 2322391 by Andrew Rodham in Main branch]
2014-10-08 04:42:34 -04:00
Jaroslaw Palczynski
37f19fe3fa Server functions passed by non-const reference result in bad code generation.
Fixed.

#ttp 338601

[CL 2321310 by Jaroslaw Palczynski in Main branch]
2014-10-07 11:04:06 -04:00
John Pollard
aafe346f1e Add hooks so game code can detect when demos start playing
[CL 2320365 by John Pollard in Main branch]
2014-10-06 15:58:05 -04:00
Mikolaj Sieluzycki
c92ca070d1 Move references to UObjects from FCoreDelegates to FCoreUObjectDelegates
TTP #343071 CORE: FCoreDelegates should not have references to UObjects.
#codereview Robert.Manuszewski

[CL 2317144 by Mikolaj Sieluzycki in Main branch]
2014-10-02 06:13:35 -04:00
Michael Noland
cf61cf2c85 Core: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2316335 by Michael Noland in Main branch]
2014-10-01 14:40:06 -04:00
Maciej Mroz
05cb80bdac BP: FKismetCppBackend - ongoing task.
UProperty::ExportCppDeclaration wont generate bitfield for "bool".

[CL 2314190 by Maciej Mroz in Main branch]
2014-09-30 11:36:10 -04:00
Maciej Mroz
367a65a653 BP: FKismetCppBackend - a lot of fixes/improvements:
- Proper code for EventDispatcher
- UFUNCTION macro
- Delegate declaration..

[CL 2314013 by Maciej Mroz in Main branch]
2014-09-30 05:04:55 -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
Steve Robb
53d7de0fc8 Enum class codegen fixes for UFunctions, as raised here:
https://github.com/EpicGames/UnrealEngine/pull/433

#codereview robert.manuszewski

[CL 2312741 by Steve Robb in Main branch]
2014-09-29 07:39:15 -04:00
Jaroslaw Surowiec
4fd7bd124c CoreUObject - Removed ConditionalShutdownAfterError, replaced with RegisterForShutdownAfterError, which needs to be called if an object requires such funcionality, this change will dramatically reduce the amount of memory required for calling FUObjectShutdown::ShutdownAfterError, from hundreds of MBs to a few KBs
#codereview Robert.Manuszewski

[CL 2312714 by Jaroslaw Surowiec in Main branch]
2014-09-29 06:39:02 -04:00
Robert Manuszewski
6ae3da9596 Set RF_WasLoaded flag when saving packages to make sure this flag is consistently set on objects that exist on disk and in memory.
[CL 2312676 by Robert Manuszewski in Main branch]
2014-09-29 05:33:56 -04:00
Jaroslaw Palczynski
65ba5d456f TArray documentation and a coupld of methods deprecation.
Changes mostly in Array.h. The changes in other files are only renames for deprecated functions.

[CL 2312616 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:23:44 -04:00
Maciej Mroz
c7731a177e BP: Blueprint code cannot execute any code on an object, that is pending kill.
#codereview Nick.Whiting

[CL 2312609 by Maciej Mroz in Main branch]
2014-09-29 04:13:31 -04:00
Jaroslaw Palczynski
2a11232fd7 [GitHub] 332 : Script integration UObject helpers
#ttp 343283

[CL 2312605 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:03:40 -04:00
Maciej Mroz
0342408cb6 [GitHub] 304 : Fixed inherited interface BP method crash.
https://github.com/EpicGames/UnrealEngine/pull/304/files

UClass::FindFunctionByNam: Function in interface parent can be found.

#codereview Steve.Robb

[CL 2310935 by Maciej Mroz in Main branch]
2014-09-26 11:29:21 -04:00
Jaroslaw Surowiec
86b8450a18 CoreUObject - Added ability to reserve memory for the object annotations
[CL 2309625 by Jaroslaw Surowiec in Main branch]
2014-09-25 07:55:50 -04:00
Andrew Brown
7fe8f23ec7 Multiprocess PIE(viewport) client can now connect to a server
#ttp 335628 - +CRITICAL: Regression: SHOOTERGAME: PIE as client only opens one player window

#branch UE4

#change Modified the clients PIEInstance (in this instance) to be -1, so that it uses normal assets (those determined by the server) and not the PIE ones otherwise the client will get kicked from the server. Made a slight change to prevent a call to BuildPIEPackagePrefix from crashing too.

#change Modified AsyncLoading to be able to specify the PackageFlags applied to the package, rather than assuming them based off the PIEInstanceID. LevelStreaming (which is the only place which utilised this) can now check the WorldContext to determine if the PKG_PlayInEditor PackageFlag should be set, rather than PIEInstanceID - which brings the code inline with the rest of the solution. Streaming levels only get unloaded if the package has this flag set (unloading doesn't care about PIEInstanceID, so it was odd that the flag was set based on this in the first place). Without this change, PIE clients would keep streaming levels around in memory which would break things later on.

[CL 2309599 by Andrew Brown in Main branch]
2014-09-25 06:55:21 -04:00
Maciej Mroz
f55429024e CPF_EditInline flag removed (replaced by metadata).
CPF_PersistentInstance  flag added.

#codereview Robert.Manuszewski, Nick.Whiting, James.Golding

[CL 2308211 by Maciej Mroz in Main branch]
2014-09-24 09:09:32 -04:00
Robert Manuszewski
fc5e9ec94f Removing unnecessary log message (old debug code) from UObjectBase::AddObject that resulted in an extra FName -> FString conversion each time new object was constructed.
[CL 2308165 by Robert Manuszewski in Main branch]
2014-09-24 07:24:05 -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
Michael Schoell
668ad5075c External functions, macros, and variables, will be put into a category of their Blueprint if they have no specified category (and always for external variables).
[CL 2305826 by Michael Schoell in Main branch]
2014-09-22 14:34:38 -04:00
Jamie Dale
acda749986 Fixed a crash caused by changing an FLinearColor property to an FSlateColor
Added a SerializeFromMismatchedTag to FSlateColor that can convert an FColor or FLinearColor property to an FSlateColor.

Had to update the logic for calling SerializeFromMismatchedTag so that it would also call it when the StructName in the Tag of a StructProperty had changed.

ReviewedBy Andrew.Rodham

[CL 2305436 by Jamie Dale in Main branch]
2014-09-22 09:45:42 -04:00