Commit Graph

725 Commits

Author SHA1 Message Date
Robert Manuszewski
6da4904156 Fixing CIS
[CL 2068431 by Robert Manuszewski in Main branch]
2014-05-09 14:17:38 -04:00
Robert Manuszewski
d3a97b1b29 Adding -testexit="Phrase" to aid automated testing in UAT
[CL 2068398 by Robert Manuszewski in Main branch]
2014-05-09 13:52:29 -04:00
Matthew Griffin
4bbd908e89 Refactoring streaming manager so that it's not so specific to textures.
Renamed FStreamingManagerBase to IStreamingManager and made this into the manager of a Streaming Manager singleton instead of a global variable. Added an interface class to add just the functions specific to texture streaming so that the collection manager doesn't have to deal with textures specifically and prevent this from being part of an Audio Streaming manager in future. This meant a few changes to code using texture functions outside of the streaming managers, with it now having to check that texture streaming is enabled before requesting the texture streaming manager.

[CL 2065528 by Matthew Griffin in Main branch]
2014-05-07 09:39:27 -04:00
Ben Marsh
de25473388 Move functionality for handling .uprojectdirs into a class which can be reused for any engine installation. Required for UnrealVersionSelector to handle generating project files for multiple installations.
[CL 2064381 by Ben Marsh in Main branch]
2014-05-06 08:57:17 -04:00
Mikolaj Sieluzycki
45c031d576 #ttp 331438 UE4: PlatformMath refactor
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski

[CL 2064306 by Mikolaj Sieluzycki in Main branch]
2014-05-06 06:26:25 -04:00
Justin Sargent
977e1e3728 I18N: Fixed the teardown process for the i18n system so it won't do anything if it was never initialized.
[CL 2062140 by Justin Sargent in Main branch]
2014-05-02 11:04:22 -04:00
Bob Tellez
f8c6fa345b Back out changelist 2060595. These temp logging changes are no longer needed.
[CL 2060808 by Bob Tellez in Main branch]
2014-05-01 01:07:07 -04:00
Bob Tellez
3a7398a48c UE4: Temporarily added some additional initialization logs to track down a crash while cooking.
[CL 2060595 by Bob Tellez in Main branch]
2014-04-30 18:55:05 -04:00
Robert Manuszewski
530c47b030 Licensee Engine Version (Changelist) support. Modified UpdateLocalVersion UAT script to be able to set licensee versions and custom changelists.
[CL 2059655 by Robert Manuszewski in Main branch]
2014-04-30 07:58:10 -04:00
Andrew Brown
b145f1d79e Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly.
#ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle)

#branch UE4

#change
DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be.
Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future.
Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter...
GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these.
RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible).
Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them.
Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly.

Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to
ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set
IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not
SetSimpleStat û Sets the state of a specified Simple Stats
SetSimpleStats - Sets the state of the specified Simple Stats
RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned.
Each Exec function had the code it executes which itÆs toggled and rendered into functions

Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too.

FSceneViewport:
SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends.
SEditorViewport:
ToggleStatCommand û Called when a stat is enabled/disabled from the UI
IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI
SEditorViewportViewMenu:
GenerateViewMenuContent û Made protected and virtual so it could be called externally.
FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later
Destructor û Needed to reset delegates
HandleNewGroupStat û Creates the new group stat commands
HandleNewStat û Creates the new stat command
FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order
SLevelViewport:
Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS).
OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global
OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport.
ToggleStatCommand û Called when the user selects any other stat option from the viewport.
BindStatCommand û Used to bind the menu action to the command name (used by delegate)

Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize
Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call).

FViewportClient:
Moved global ESoundShowFlags enum list into this class.
FCommonViewportClient:
Destructor û Needed to reset GStatProcessingViewportClient
FLevelEditorViewportClient
SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func
SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func
UGameViewportClient:
Destructor û Needed to cleanup delegate usage.
FViewportClient & FLevelEditorViewportClient & UGameViewportClient*
GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec
GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec
GetEnabledStats û Gets a list of all the stats which are enabled for the viewport
SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport
IsStatEnabled û Checks to see if a specific stat is enabled for the viewport
SetStatEnabled û Sets a specifics stats state to enabled or disabled
GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec
SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec
HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport
HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport
HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport
HandleViewportStatDisableAll (delegate) û disables all stats for the viewport
*FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs.

FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS).
Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false).

Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur.
Added FillShowStatsSubMenus so that menus can be generated which have submenus
Added the Stats sub menu to the View menu

Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed
HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists.
SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame).

Stripped out all unneeded globals

[CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Daniel Lamb
61942a894f Fix for Shaders being compiled while the engine is shutdown causing crash on exit.
[CL 2056781 by Daniel Lamb in Main branch]
2014-04-25 16:10:53 -04:00
Josh Markiewicz
230e7c23fe #UE4 - crash fix for bad world context handle when checking IsServer
[CL 2055538 by Josh Markiewicz in Main branch]
2014-04-24 11:38:20 -04:00
Josh Markiewicz
1d3334caf7 #UE4 - fixed online pie failures causing a crash because OSS was destroyed in middle of a delegate call
- made WorldContextHandle and FName instead of int32 to help with referencing them in a more organized fashion

#codereview david.ratti

[CL 2055060 by Josh Markiewicz in Main branch]
2014-04-23 22:06:10 -04:00
Ben Marsh
89f5f31f32 [INTEGRATE] Engine source and content from 4.1 branch.
[CL 2053735 by Ben Marsh in Main branch]
2014-04-23 20:10:59 -04:00
Josh Markiewicz
4392a38ed3 #UE4 - Big OSS "access to World/WorldContext" refactors
- removed OSS only UWorld accessors on UEngine
- added GetGameWorld accessor to UGameEngine (should be used sparingly)
- added Force Dedicated mode so that OSS can work with PIE in dedicated
- exposed instance name throughout OSS so that we can find the right UWorld in various IsServer / IsDedicated queries
- moved IsServer inside OnlineSubsystem
- moved IsLocalPlayer inside OnlineSubsystem interface
- updated the Core delegate for IsServerForOnlineSubsystems (keeps engine out of base OSS)

[CL 2052320 by Josh Markiewicz in Main branch]
2014-04-23 19:56:01 -04:00
Saul Abreu
bcb92e4dbf #summary Internationalization now operates as a singleton with non-static initialization. Should no longer have issues with initializing before file server when applicable. Resolved related previous double initialization issue. API-breaking change for calls to most FInternationalization methods.
#ttp 331776 - L10N: ICU: Executable size for engine and programs has regressed dramatically (ICU)

[CL 2044493 by Saul Abreu in Main branch]
2014-04-23 18:30:01 -04:00
Justin Sargent
f218d9fba8 Engine: L10N: Launch engine loop will now call the EndTextLocalizationInit function along with the Begin version in standalone applications.
[CL 2044158 by Justin Sargent in Main branch]
2014-04-23 18:26:02 -04:00
Steve Robb
c34468ca19 #ttp LOCALIZATION: EDITOR: Packaging log displays Unicode characters as ?
#change The engine now accepts a -UTF8Output command line argument which allows the output stream to be in the correct mode.
#change UAT accepts the same UTF8Output parameter to allow the connecting streams to be in the correct mode too (though it's currently only passed during the UnrealPak invocation).
#add FPlatformMisc::SetUTF8Output added to allow the opting-in of a UTF-8 output stream in Windows.

#codereview robert.manuszewski

[CL 2043167 by Steve Robb in Main branch]
2014-04-23 18:15:18 -04:00
Mikolaj Sieluzycki
f9fe87c29a #ttp 331240 - CORE: Remove GIsBenchamrking, GUseFixedTimeStep from global scope
#proj core
#branch UE4
#summary Moved global variables to statics in FApp. Removed unused GUnclampedDeltaTime.
#codereview robert.manuszewski

[CL 2043034 by Mikolaj Sieluzycki in Main branch]
2014-04-23 18:12:58 -04:00
Robert Manuszewski
e9dd83144d #UE4 - Initialize std out device as soon as possible so that UAT can grab all the logs.
[CL 2040934 by Robert Manuszewski in Main branch]
2014-04-23 17:47:30 -04:00
Josh Markiewicz
bc0ef5404c #UE4 - removed unnecessary string manipulation
[CL 2040090 by Josh Markiewicz in Main branch]
2014-04-23 17:35:03 -04:00
Jaroslaw Surowiec
d9bbee4320 #UE4
- Platform memory
  - Added LogMemory to log all memory related things
  - Separated PlatformMemory stats from Allocator stats, added MemoryAllocator group for allocator stats, added MemoryPlatform for platform memory specific stats, stats for these groups are updated once per frame in FEngineLoop::Tick, stats are duplicated, so they can be accessed if STATS is not enabled
 - Removed outdated code, references to unsupported platforms like PS3 or Xbox360
 - Updated MallocProfiler to support these changed, increased malloc profiler file version to 4
 - From now FGenericPlatformMemory.GetStats contains FPlatformMemoryConstants so there is no need to call the second method
 - Improved memory reporting for Windows platform, other platforms need to be updated separately
 - Misc tweak and fixes

#codereview Robert.Manuszewski

[CL 2038526 by Jaroslaw Surowiec in Main branch]
2014-04-23 16:37:37 -04:00
Niklas Smedberg
d534b0d979 #android Faster CPU performance by setting affinity mask for the gamethread, renderthread and eventthread.
[CL 2038270 by Niklas Smedberg in Main branch]
2014-04-23 16:36:00 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00