Commit Graph

31 Commits

Author SHA1 Message Date
Max Preussner
aa5a200e78 Core: Added LoadModuleChecked overload to module manager
[CL 2317977 by Max Preussner in Main branch]
2014-10-02 18:14:11 -04:00
Ben Marsh
77b7f83587 Add binaries directories to the PATH environment variable on Windows, so the loader can always find implicitly linked DLLs. Prevents having to mess around with module load order to link directly to plugin libraries.
[CL 2317460 by Ben Marsh in Main branch]
2014-10-02 12:00:13 -04:00
Ben Marsh
03bd8ee584 Move hot reload functionality onto it's own define, instead of being tied into IS_MONOLITHIC. Don't want it enabled for modular shipping games in Rocket.
#codereview Robert.Manuszewski

[CL 2293828 by Ben Marsh in Main branch]
2014-09-11 11:39:20 -04:00
Ben Marsh
31618620c1 Include module names in dialog for recompiling on startup, and don't allow continuing if they are an incorrect version.
[CL 2292600 by Ben Marsh in Main branch]
2014-09-10 12:43:07 -04:00
Ben Marsh
bb17aef300 Move functionality to invoke UBT into DesktopPlatform.
[CL 2286483 by Ben Marsh in Main branch]
2014-09-05 13:31:22 -04:00
Ben Marsh
d591804587 Move hot reload functionality from Core into the HotReload module. Precursor to removing assumptions about IS_MONOLITHIC and supporting hybrid monolithic configurations.
[CL 2286426 by Ben Marsh in Main branch]
2014-09-05 12:46:22 -04:00
Ben Marsh
abd570b7a9 Move GetSolutionFilepath() out of Core and into DesktopPlatform.
[CL 2278050 by Ben Marsh in Main branch]
2014-08-29 15:31:27 -04:00
Ben Marsh
dbf4591321 Rearranging ModuleManager to make it possible to lift out hot-reload and UBT functionality.
[CL 2277844 by Ben Marsh in Main branch]
2014-08-29 13:15:40 -04:00
Rolando Caloca
ccaa39a49e UE4 - Metal fixes
- Fix SV_VertexID & InstanceID usage
- Fix for gl_FragDepth & prep for MRTs

[CL 2270944 by Rolando Caloca in Main branch]
2014-08-25 15:32:11 -04:00
Ben Marsh
bd49e9ef16 Remove UBT invocation functions from FModuleManager that are no longer used (and shouldn't have been there in the first place).
[CL 2267329 by Ben Marsh in Main branch]
2014-08-22 08:58:52 -04:00
Robert Manuszewski
8498aae74f Hot-reload from IDE
#change UBT: Added support for hot-reload when UBT is called from IDE and the current target is curring
#change Added support for hot-reload from VS to the engine
#change Refactored hot-reload functionality to a separarte module
#change Added hot-reload analytics events

[CL 2255801 by Robert Manuszewski in Main branch]
2014-08-14 03:37:01 -04:00
Dmitry Rekman
565f454946 Fix for Shipping build from PR #356
- Found/fixed by maseck.

#codereview Robert.Manuszewski, Ben.Marsh

[CL 2253191 by Dmitry Rekman in Main branch]
2014-08-12 12:58:39 -04:00
Robert Manuszewski
73fe7a9637 Missing file from Hot-Reload improvements check in
[CL 2237046 by Robert Manuszewski in Main branch]
2014-07-30 11:06:04 -04:00
Marcus Wassmer
d291d87ff2 Fix potential UBT stall when invoking UBT syncronously.
[CL 2230735 by Marcus Wassmer in Main branch]
2014-07-24 17:31:15 -04:00
Dmitry Rekman
c24b35fb29 Linux: make module manager actually load modules.
- part of GitHub pull request #242, with changes
- new platform define for conditionally using cpuid, other platforms may want to follow suit
- better detection of debugger, IsDebuggerPresent() is on again.

#codereview Josh.Adams, Michael.Trepka, Bob.Tellez

[CL 2229133 by Dmitry Rekman in Main branch]
2014-07-23 19:02:03 -04:00
Marcus Wassmer
07fd4b83b0 Non monolithic projects will load AutoSDK environment properly.
#codereview Josh.Adams, dmitry.rekman, michael.trepka, ben.marsh

[CL 2227662 by Marcus Wassmer in Main branch]
2014-07-22 17:59:23 -04:00
Mike Fricker
72a34e4ee9 Compile Times: Fixed Core module needing two separate PCH headers in monolithic compiles
- Changed Core module to use Core.h (removed CorePrivate.h)
- CorePrivate.h only included Core.h, so their PCHs were identical other than name
- Does not affect modular builds, as we need different defines for DLLExport/DLLImport for private and public PCH headers

[CL 2221011 by Mike Fricker in Main branch]
2014-07-16 13:44:46 -04:00
Ben Marsh
ab4133ad03 Allow the DebugGame configuration setting to be compiled into monolithic executables. The -debug command line parameter is still used for editor builds.
#codereview Marcus.Wassmer

[CL 2176139 by Ben Marsh in Main branch]
2014-07-08 13:49:35 -04:00
bruce nesbit
32fd421749 Fixed non unity build.
#codereview Matt.Kuhlenschmidt,Ben.Marsh

[CL 2115056 by bruce nesbit in Main branch]
2014-06-24 05:24:49 -04:00
Ben Marsh
e04340734f Fix how project files get generated for foreign vs non-foreign projects. Previous logic detected projects under the root directory as being native and everything else as foreign, which broke GitHub builds that do not have the appropriate .uprojectdirs file. Now checks against the .uprojectdirs list to determine whether to use the UE4 solution or a game-specific solution.
[CL 2114260 by Ben Marsh in Main branch]
2014-06-23 14:26:52 -04:00
Ben Marsh
8ffc82bbd0 Add concept of an 'API version' for modules, which is used for determining compatibility of DLLs. By default, the API version is the current changelist number, but can be set to previous changelists when making hotfixes. The API version number is stored in a special resource section for DLLs on Windows, and in the current-version field for dylibs on Mac.
In contrast to the previous system, this does not require special-casing for Rocket builds and will work correctly for nightlies and other out-of-band releases. It also removes the requirement for games to adhere to a strict format of version string on Windows for the editor to be able to load them, since the new data is injected indepdendently of the default resource by UBT.

#codereview Robert.Manuszewski, Michael.Trepka

[CL 2111949 by Ben Marsh in Main branch]
2014-06-20 13:02:34 -04:00
Max Preussner
017837289f Modules: Module Manager API cleanup pass
There is now a consistent set of methods for module loading, unloading and lookup that all behave in the same expected way.

- renamed GetModuleInterface to GetModule and made it not assert
- removed GetModuleInterfaceRef
- namespace enums to enum classes, NULL to nullptr
- moved important public methods to the top, so they're easier to discover
- added missing & improved existing documentation
- cleaned up existing use cases

[CL 2109936 by Max Preussner in Main branch]
2014-06-18 19:23:34 -04:00
Ben Zeigler
3f7149bdb0 Merging using UE4-Fortnite-To-UE4 Up to Changelist #2080066
[CL 2082174 by Ben Zeigler in Main branch]
2014-05-22 14:14:52 -04:00
Bob Tellez
cf896552ca Back out changelist 2060765. These temporary log changes are no longer needed.
[CL 2060800 by Bob Tellez in Main branch]
2014-05-01 01:01:20 -04:00
Bob Tellez
575a39d1ce UE4: Even more logs to help track down the cook crash.
[CL 2060765 by Bob Tellez in Main branch]
2014-04-30 23:46:04 -04:00