Commit Graph

11 Commits

Author SHA1 Message Date
ben marsh
d7121e8ad6 LiveCoding: Fix the "Show Console" button being disabled until the first compile.
#rb none
#jira UE-71379

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5362145 in //UE4/Release-4.22/... via CL 5368489
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5405867 by ben marsh in Dev-Networking branch]
2019-03-14 19:25:54 -04:00
ben marsh
0a1a23d6d6 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: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5361279 in //UE4/Release-4.22/... via CL 5368485
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5405861 by ben marsh in Dev-Networking branch]
2019-03-14 19:25:47 -04:00
ben marsh
a59ae0f7fc Fix "Compile" button in toolbar using legacy hot reload when live coding startup is set to manual.
#rb none
#jira UE-71359

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5361201 in //UE4/Release-4.22/... via CL 5368484
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5405860 by ben marsh in Dev-Networking branch]
2019-03-14 19:25:45 -04:00
ben marsh
293bce3687 LiveCoding: Fix setting for enabling/disabling live coding not being saved when modified via the toolbar.
#rb none
#jira UE-71362

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5360814 in //UE4/Release-4.22/... via CL 5368482
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5405855 by ben marsh in Dev-Networking branch]
2019-03-14 19:25:41 -04:00
ben marsh
58b7c9985f 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: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5352692 in //UE4/Release-4.22/... via CL 5364901
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5404854 by ben marsh in Dev-Networking branch]
2019-03-14 18:59:30 -04:00
ben marsh
cb25506110 Move live coding settings back under the editor preferences window, since it's a user-specific thing.
#rb none
#jira UE-71126

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5350227 in //UE4/Release-4.22/... via CL 5364819
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5404823 by ben marsh in Dev-Networking branch]
2019-03-14 18:58:32 -04:00
ben marsh
06697b7c6a LiveCoding: Disable the editor compile button while a compile is in progress.
#rb none
#jira UE-71077

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5343160 in //UE4/Release-4.22/... via CL 5343162
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5401595 by ben marsh in Dev-Networking branch]
2019-03-14 17:06:58 -04:00
ben marsh
958520ba80 Restore code that was accidentally commented out while debugging.
#rb none
#jira
#rnx

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5341380 in //UE4/Release-4.22/... via CL 5341387
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5401394 by ben marsh in Dev-Networking branch]
2019-03-14 17:02:02 -04:00
ben marsh
651c0a51bf LiveCoding: Expose a Tick() function so that systems that don't use fire EndFrame() callbacks can still tick the live coding module. Also add a -LiveCoding command line argument to force it on.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5340479 in //UE4/Release-4.22/... via CL 5340483
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5401335 by ben marsh in Dev-Networking branch]
2019-03-14 17:00:04 -04:00
ben marsh
46b7b52cdc Fixes for static analysis warnings.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5307320 in //UE4/Release-4.22/... via CL 5314647
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5329480 by ben marsh in Dev-Networking branch]
2019-03-06 18:34:21 -05:00
ben marsh
7c46cc6b4c 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: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5326306 by ben marsh in Dev-Networking branch]
2019-03-06 18:19:24 -05:00