Commit Graph

14 Commits

Author SHA1 Message Date
ben marsh
83bd3cd7c6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6631504 in //UE4/Main/...
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6748759 by ben marsh in Dev-Anim branch]
2019-05-31 18:06:13 -04:00
ben marsh
435510ffd8 LiveCoding: Prevent Live Coding starting automatically when in unattended mode.
#rb none
#jira UE-72524

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5988868 in //UE4/Release-4.22/... via CL 5988908
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5999858 by ben marsh in Dev-Anim branch]
2019-04-18 21:27:17 -04:00
ben marsh
4c5bd2b726 LiveCoding: Add support for lazy loading modules. This lets us enable live coding for the entire engine without a large startup penalty. Project modules are still preloaded by default.
#rb none
#jira

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5437980 in //UE4/Release-4.22/... via CL 5437990
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5440764 by ben marsh in Dev-Anim branch]
2019-03-18 21:03:48 -04:00
ben marsh
20d5d291a6 Fix issues related to hot-reload and LiveCoding co-existing.
* Removed code to invalidate makefiles when adding new source files. UBT should be reliable enough to make this determination itself nowadays, and ignored -invalidatemakefilesonly argument was causing modules to be recompiled.
* Fixed incorrect config section name when determining whether to allow hot reload from IDE. Now prevents hot reload from IDE when live coding is enabled.
* Added error message when trying to add a new class with Live Coding enabled.
* Added error messages when trying to start Live Coding after a hot reload has taken place.
* Added error messages when trying to hot reload with Live Coding enabled.

#jira UE-71253
#rb none

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5403464 in //UE4/Release-4.22/... via CL 5403485
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5411452 by ben marsh in Dev-Anim branch]
2019-03-15 05:56:35 -04:00
ben marsh
31cbd27ac9 LiveCoding: Fix determination of whether a module is part of a project plugin. Such modules report "false" for FModuleStatus.bIsGamePlugin.
#rb none
#jira UE-71399

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5365389 in //UE4/Release-4.22/... via CL 5368509
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381927 by ben marsh in Dev-Anim branch]
2019-03-13 10:04:06 -04:00
ben marsh
29b83e0018 LiveCoding: Fix the "Show Console" button being disabled until the first compile.
#rb none
#jira UE-71379

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5362145 in //UE4/Release-4.22/... via CL 5368489
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381907 by ben marsh in Dev-Anim branch]
2019-03-13 10:03:36 -04:00
ben marsh
0f45be443f LiveCoding: Explicitly batch all EnableModules() commands, to prevent user command thread preempting the editor thread before it's finished adding everything. Prevents "Live coding ready" messages being spammed in the console window.
#rb none
#jira UE-71270

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5361279 in //UE4/Release-4.22/... via CL 5368485
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381900 by ben marsh in Dev-Anim branch]
2019-03-13 10:02:59 -04:00
ben marsh
b5e48810ff Fix "Compile" button in toolbar using legacy hot reload when live coding startup is set to manual.
#rb none
#jira UE-71359

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5361201 in //UE4/Release-4.22/... via CL 5368484
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381899 by ben marsh in Dev-Anim branch]
2019-03-13 10:02:57 -04:00
ben marsh
9533e4c98c LiveCoding: Fix setting for enabling/disabling live coding not being saved when modified via the toolbar.
#rb none
#jira UE-71362

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5360814 in //UE4/Release-4.22/... via CL 5368482
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381896 by ben marsh in Dev-Anim branch]
2019-03-13 10:02:54 -04:00
ben marsh
8ec8577351 LiveCoding: Tweaks to live coding settings.
* Compile dropdown now just contains a checkbox for enabling live coding.
* Compile dropdown has a link to open the editor preferences window.
* Live coding can be enabled from the editor settings window.
* Option to show the console on startup is now folded into the startup mode.
* Options in the editor settings window are greyed out unless live coding is enabled.

#rb none
#jira

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5352692 in //UE4/Release-4.22/... via CL 5364901
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381684 by ben marsh in Dev-Anim branch]
2019-03-13 09:53:47 -04:00
ben marsh
eef4ce3757 Move live coding settings back under the editor preferences window, since it's a user-specific thing.
#rb none
#jira UE-71126

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5350227 in //UE4/Release-4.22/... via CL 5364819
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5381658 by ben marsh in Dev-Anim branch]
2019-03-13 09:52:49 -04:00
Thomas Sarkanen
bb193db1aa Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 5356908
#rb none

[CL 5360337 by Thomas Sarkanen in Dev-Anim branch]
2019-03-11 12:18:32 -04:00
ben marsh
2257d3bbb8 Fixes for static analysis warnings.
#rb none
#jira

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5307320 in //UE4/Release-4.22/... via CL 5314647
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5328765 by ben marsh in Dev-Anim branch]
2019-03-06 18:29:55 -05:00
ben marsh
cac209bb32 Integrating live coding feature (aka Live++) into UE4.
Allows fast iteration of C++ changes without restarting the application. To use, select the "Live Coding (Experimental)" mode from the drop down menu next to the editor's compile button, or type "LiveCoding" into the console for a monolithic build. Press Ctrl+Alt+F11 to find changes and compile.

Changes vs standalone Live++ version:

* UBT is used to execute builds. This allows standard UE4 adaptive unity mode, allows us to reuse object files when we do regular builds, supports using any build executor allowed by UBT (XGE, SNDBS, etc..).
* Adding new source files is supported.
* Custom visualizer for FNames is supported via a weakly linked symbol in a static library (Engine/Extras/NatvisHelpers).
* Settings are exposed in the editor's project settings dialog.
* Standalone application has been rewritten as a Slate app ("LiveCodingConsole"). There is an additional option to start the program as hidden, where it will not be visible until Ctrl+Alt+F11 is hit. Similarly, closing the window will hide it instead of closing the application.
* Does not require a standalone licensed version of Live++.

Known issues:

* Does not currently support class layout changes / object reinstancing

#rb none
[FYI] Marc.Audy, Stefan.Boberg, Nick.Penwarden
#jira

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5325549 by ben marsh in Dev-Anim branch]
2019-03-06 18:16:39 -05:00