Commit Graph

31 Commits

Author SHA1 Message Date
Dmitry Rekman
30a9dc0957 [Github] PR #306: safe/minor changes.
- Minor fixes, Linux-specific additions (like preferred source code accessor setting or building ForsythTriOO) and tweaks (log level, etc).

#codereview Josh.Adams

[CL 2237893 by Dmitry Rekman in Main branch]
2014-07-30 23:46:52 -04:00
Ben Marsh
a66e704793 Require all plugins to be present for a project to load, rather than attempting to carry on without them. Plugins may define object types, and loading packages without them can cause corruption. Can revisit in the future to allow for 'editor-only' plugins.
Plugin reference in the .uproject file has a "Description" field which allows setting a customizable message if the plugin is not available. Allows distribution of samples which require a plugin, but without including the plugin itself.

[CL 2237188 by Ben Marsh in Main branch]
2014-07-30 13:16:05 -04:00
Ben Marsh
3bac51e396 Provide a proper error message if a file cannot be deleted during project upgrade, and fix offering to checkout the project file if necessary.
[CL 2227462 by Ben Marsh in Main branch]
2014-07-22 15:58:02 -04:00
Ben Marsh
fe7edf8ebd Add a PostEngineInit load phase for modules
[CL 2187983 by Ben Marsh in Main branch]
2014-07-10 21:04:34 -04:00
Ben Marsh
97e8212ca3 Don't tell the module manager about plugin modules before we need to load them. It shouldn't need to know, and it causes it to cache when modules are missing even if they can be compiled.
[CL 2187821 by Ben Marsh in Main branch]
2014-07-10 14:20:43 -04:00
Ben Marsh
7e5c0aa227 Prevent an ensure when starting programs that compile-in the plugin manager but do not support content plugins, like SCW.
[CL 2131316 by Ben Marsh in Main branch]
2014-07-03 14:08:35 -04:00
Ben Marsh
de9c0853bf Add an toggle for showing plugin content, and disable it by default.
[CL 2124821 by Ben Marsh in Main branch]
2014-07-02 13:18:43 -04:00
Robert Manuszewski
f9bee4dda7 [GitHub] 263 : Search for project templates in plugin directories
[CL 2124323 by Robert Manuszewski in Main branch]
2014-07-02 07:33:17 -04:00
Ben Marsh
e35719b0b4 Store whether a plugin is enabled by default in the uplugin file (rather than in the INI file). Simplifies checks for what is enabled in UE4Game and decentralizes everything.
[CL 2119957 by Ben Marsh in Main branch]
2014-06-27 16:38:50 -04:00
Ben Marsh
100dfb0b32 Store the list of enabled plugins in the uproject file (fixing TTP 335060), and enable all game plugins by default (TTP 339313).
[CL 2119810 by Ben Marsh in Main branch]
2014-06-27 15:23:15 -04:00
Ben Marsh
8d04b7998a Separate out project and plugin descriptors from each other, and the instance data maintained by their respective managers. Projects and plugins already only have superficial similarities, and will continue to diverge.
[CL 2119335 by Ben Marsh in Main branch]
2014-06-27 08:41:46 -04:00
Ben Marsh
46b651e4a7 Make a standalone class for module descriptors in .uproject and .uplugin files.
[CL 2116860 by Ben Marsh in Main branch]
2014-06-25 13:09:31 -04:00
Michael Noland
b6e9810498 Editor: Convert IntroTutorials to a module so other plugins can reference it
[CL 2116088 by Michael Noland in Main branch]
2014-06-24 20:14:23 -04:00
Peter Sauerbrei
d0729e07a9 add check for third-party plugins for IOS on PC as we don't support that currently in the released version
#ue4
#ios

[CL 2111986 by Peter Sauerbrei in Main branch]
2014-06-20 13:38:05 -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
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Max Preussner
3aece47882 Docs: Removed file comments and added missing code documentation
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.

Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks

[CL 2104067 by Max Preussner in Main branch]
2014-06-12 23:22:18 -04:00
Jamie Dale
0cfe5f0651 Added PlatformInfo to DesktopPlatform and improved the editors Supported Platform UI
TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms

DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.

FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2095796 by Jamie Dale in Main branch]
2014-06-05 12:13:44 -04:00
Jamie Dale
c730fdef83 Added support for choosing which platforms your project will target
TTP# 332489 - TOOLS FEATURE: Editor: Allow user to designate which platforms a project is designed for; warn user when deploying to platforms that will result in a bad time

There is now a "Target Platforms" tab in the project settings which allows you to choose which platforms your project will target. This information is stored inside the .uproject file.

If you try and launch, cook, or package for a project that isn't on the supported list, then you'll see a suppressible warning notifying you that the project may not run as expected. This is also conveyed to you via a warning icon next to platforms which aren't set as a target.

Additionally the target platform icons are shown in the tooltip on the "Open Project" dialog, as well as in the tab area of the level editor.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2088161 by Jamie Dale in Main branch]
2014-05-29 17:37:19 -04:00
Steve Robb
e78e096889 TSet is constructible from a TArray.
#add New explicit constructors which append.
#add Move support for TSet::Append.
#add Move operators for TSetElement.
#change Some ranged-for loop changes.
#change Some existing code changed for testing (PluginManager, Subversion plugin).

#codereview robert.manuszewski,gareth.martin

[CL 2080362 by Steve Robb in Main branch]
2014-05-21 10:35:57 -04:00
Ben Marsh
6251d1c57e Change project 'upgrades' to be based on the format of the project file and nothing to do with engine version or association, and allow the UpdateGameProject commandlet to always write latest version information to the file.
[CL 2072245 by Ben Marsh in Main branch]
2014-05-13 18:23:53 -04:00
Peter Sauerbrei
f83fcf5c96 fix for Memory Card, Black Jack, and Swing Ninja not launching properly after being packaged
TTP334744
#ue4

[CL 2068161 by Peter Sauerbrei in Main branch]
2014-05-09 10:52:15 -04:00
Andrew Rodham
053528c62e Out of date projects now appear faded-out on the project browser
This is to highlight that they will need to be upgraded before they can be used in the current version of the engine. Currently there is no upgrade step, but this will be implemented shortly. This addresses some of TTP #333190 (Project Browser: Improved workflow for opening projects from earlier versions of the editor)

Reviewed by Ben Marsh

[CL 2066916 by Andrew Rodham in Main branch]
2014-05-08 09:20:52 -04:00
Ben Marsh
3aff5a9cc1 Add methods to determine whether a project or plugin's modules are up-to-date.
[CL 2059943 by Ben Marsh in Main branch]
2014-04-30 10:48:13 -04:00
Robert Manuszewski
212c47eec9 Support for scripting language integrations via plugins. Experimental Lua integration.
- Added program-only plugin support and made UHT script plugin aware
- Added 3 generic script plugins with experimental Lua integration: ScriptGeneratorPlugin (UHT), ScriptPlugin (Engine), ScriptEditorPlugin (Editor-side)
- Lua integration is disabled by default

[CL 2058611 by Robert Manuszewski in Main branch]
2014-04-29 06:45:18 -04:00