Commit Graph

148 Commits

Author SHA1 Message Date
ben marsh
e357715701 Live Coding: Fix crashes when patching adaptive non-unity files in game modules containing static global variables.
Live++ reads object files at startup for game modules, and assigns unique ids to each compiland (used to disambiguate static variables). When compiling the patch, these compilands are modified to reference a unique id for the unity blob, causing the variables to be reconstructed.

Solution is to generate a JSON file to each output directory containing object files containing the mapping, and to use that to assign compiland ids at startup.

#rb none
#jira UE-74036

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6455253 in //UE4/Release-4.22/... via CL 6455273
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6512984 by ben marsh in Dev-VR branch]
2019-05-15 16:17:53 -04:00
rob gay
f18d5d2e5e Seekable Streams Using LPCM/ADPCM
#rb aaron.mcleran
https://p4-swarm.epicgames.net/reviews/6345090

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 6399748 via CL 6400508 via CL 6400529
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6460876 by rob gay in Dev-VR branch]
2019-05-15 03:53:13 -04:00
ben marsh
f9df2c1beb Fix missing include paths in generated project files in binary builds, due to exception while generating project files due to missing module.
#rb none
#jira UE-73075

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6017285 in //UE4/Release-4.22/... via CL 6017289
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6020891 by ben marsh in Dev-VR branch]
2019-04-19 17:08:17 -04:00
marc audy
a20810a2b4 Fix non-unity
#rb
#rnx
[CODEREVIEW] Ben.Marsh
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 6007151 via CL 6007296 via CL 6007313
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6010552 by marc audy in Dev-VR branch]
2019-04-19 06:34:12 -04:00
ben marsh
b78d96355f LiveCoding: Merging fixes to resolve issues with global symbols being reconstructed when loading patch DLLs. Was causing asserts when log channels were re-registered etc...
#jira
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5993252 via CL 5993257 via CL 5995286 via CL 5995562
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6004844 by ben marsh in Dev-VR branch]
2019-04-18 21:57:56 -04:00
ben marsh
9f765c1726 LiveCoding: Prevent Live Coding starting automatically when in unattended mode.
#rb none
#jira UE-72524

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5988868 in //UE4/Release-4.22/... via CL 5988908
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6002160 by ben marsh in Dev-VR branch]
2019-04-18 21:39:35 -04:00
ben marsh
e3e157d850 Live Coding: Fixes issue linking patch DLLs with Visual Studio Express, due to PATH environment variable not including path to mspdb140.dll.
Now stores the linker environment block in the live coding manifest, and adds it to the cache before executing the linker.

#rb none
#jira UE-72324

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5740602 in //UE4/Release-4.22/... via CL 5740765
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5744051 by ben marsh in Dev-VR branch]
2019-04-04 13:08:37 -04:00
ben marsh
6013c250c8 LiveCoding: Fix unnecessary newlines on log messages.
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5492012 via CL 5492936 via CL 5492937
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5514826 by ben marsh in Dev-VR branch]
2019-03-22 17:57:41 -04:00
hongyi yu
3356da3bfb Added support for per-platform mapping from chunkid to pakchunk index. Part 1
- This feature allows different chunk layout on different platforms.
- Most mapping work is done in AssetRegistryGenerator.
- Terminology of ChunkID and Pakchunk Index are now separated and they are no longer the same if chunk id to pakchunk index mapping is defined.  The ChunkIDs in FAssetData is not renamed to keep consistency, but it actually is pakchunk index.  FAssetData.ChunkIDs is used for ChunkInstall.
- Chunks with encryption key guid or unique assetregistry name are not allowed to be mapped.  There are code to filter out those chunks and log errors while initializing mapping
- CheckChunkAssetsAreNotInChild() and ResolveChunkDependencyGraph() is skipped when making build for XboxOne and PS4, since they are not needed.  If for some reason, we need chunk dependency on console builds, we need to implement per-platform dependency graph, since now we support different chunk layout on different platforms.
- Disabled a few pak file overide rules for console builds, since they should only be applied to builds with Kairos chunk layout.

#test A preflight was kicked and tested on PS4 and XboxOne.  No new issue was found.
#rb Daniel.Lamb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: hongyi.yu
#ROBOMERGE-SOURCE: CL 5470414 via CL 5474050 via CL 5474308
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5506163 by hongyi yu in Dev-VR branch]
2019-03-22 17:04:02 -04:00
ben marsh
a243c66b9f 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: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5437980 in //UE4/Release-4.22/... via CL 5437990
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5440775 by ben marsh in Dev-VR branch]
2019-03-18 21:04:33 -04:00
ben marsh
653885df44 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: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5403464 in //UE4/Release-4.22/... via CL 5403485
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5412284 by ben marsh in Dev-VR branch]
2019-03-15 06:22:38 -04:00
Ryan Vance
35eb0041ab Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
#rb integration

[CL 5387703 by Ryan Vance in Dev-VR branch]
2019-03-13 15:19:08 -04:00
marcus wassmer
d0f97133e3 Force integrate 5317515 from release-4.22 to fix some issues with 'undo'.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 5337699 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387476 by marcus wassmer in Dev-VR branch]
2019-03-13 14:52:34 -04:00
juan canada
20bb1c977d Undo //UE4/Main/... changelist 5335728
#rb marcus.wassmer

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5335770 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387094 by juan canada in Dev-VR branch]
2019-03-13 14:40:42 -04:00
juan canada
880a03181c Copying //UE4/Private-Woodchuck-Staging[at]5316917 to Release-4.22 (//UE4/Release-4.22)
#rb none
#JIRA

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5317515 in //UE4/Release-4.22/... via CL 5335728
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387087 by juan canada in Dev-VR branch]
2019-03-13 14:40:25 -04:00
Joe Graf
ca9fb7b07b MERGE: Live coding is only available for Win32/Win64, dont try to include diasdk dir for other platforms
#jira none
#rb Ben.Marsh

[CL 5361151 by Joe Graf in Dev-VR branch]
2019-03-11 13:50:32 -04:00
ben marsh
abf12f84b3 Disable warning when building xxhash.c.
#rb none
#jira
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5312346 in //UE4/Release-4.22/... via CL 5316165
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5333413 by ben marsh in Dev-VR branch]
2019-03-06 19:15:56 -05:00
ben marsh
eb4ed454d3 Suppress warning in static analysis.
#rb none
#jira
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5312269 in //UE4/Release-4.22/... via CL 5316164
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5333412 by ben marsh in Dev-VR branch]
2019-03-06 19:15:54 -05:00
ben marsh
4bdfbdb040 Fix difference in scoping rules for extern'd variables declared inline under Clang.
#rb none
#rnx
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5312261 in //UE4/Release-4.22/... via CL 5316163
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5333411 by ben marsh in Dev-VR branch]
2019-03-06 19:15:52 -05:00
ben marsh
96d57a013d Fix copyright notices.
#rb none
#jira
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5307349 in //UE4/Release-4.22/... via CL 5314652
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5332764 by ben marsh in Dev-VR branch]
2019-03-06 18:59:11 -05:00
ben marsh
92a2166c2a Fixes for static analysis warnings.
#rb none
#jira

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

[CL 5332763 by ben marsh in Dev-VR branch]
2019-03-06 18:59:10 -05:00
ben marsh
896547aca0 Prevent LiveCodingServer module building for targets by default.
#rb none
#rnx
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5305237 in //UE4/Release-4.22/... via CL 5309055
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5329514 by ben marsh in Dev-VR branch]
2019-03-06 18:34:28 -05:00
ben marsh
e40dec9ee0 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5329502 by ben marsh in Dev-VR branch]
2019-03-06 18:34:25 -05:00
jonas meyer
e8fa587484 Move default graphics RHI to windows target settings
#rb rolando.caloca
#jira UE-70479

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5277239 in //UE4/Release-4.22/... via CL 5277254
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5280797 by jonas meyer in Dev-VR branch]
2019-03-04 09:15:26 -05:00
jonas meyer
03601ea123 The files added in ShaderDebugInfo are now put into a unique folder based on the StaticParameters. This allows you to see and compare shaders from multiple permutations.
Also, in the d3d11 compiler, A description of the different parameters are appended at the end, for information
#rb rolando.caloca chris.bunner

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5061991 via CL 5062517 via CL 5062687
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5138800 by jonas meyer in Dev-VR branch]
2019-02-22 05:41:26 -05:00