Commit Graph

54 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
3a35a8dd0e Deprecate and remove checkAtCompileTime.
#ttp 337754
#codereview Robert.Manuszewski

[CL 2106862 by Jaroslaw Palczynski in Main branch]
2014-06-16 08:04:54 -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
Ben Marsh
3a9ab4ba94 Remove an IsRocket() check - open the non-foreign solution file for non-foreign projects.
[CL 2100432 by Ben Marsh in Main branch]
2014-06-10 11:23:42 -04:00
Marc Audy
dcf6358a9f Default to using the GlobalDefaultGameMode if GlobalDefaultServerGameMode is not specified.
Cleared out places setting GlobalDefaultServerGameMode that need not do so.

[CL 2100415 by Marc Audy in Main branch]
2014-06-10 11:08:37 -04:00
Bob Tellez
1b57237405 UE4: Renamed FStatusMessageContext to FScopedSlowTask which describes its purpose much more clearly.
[CL 2099448 by Bob Tellez in Main branch]
2014-06-09 15:41:37 -04:00
Marc Audy
f8168e7e8d Fix BasicCode project not referencing custom game mode
TTP #336609

[CL 2097321 by Marc Audy in Main branch]
2014-06-06 14:15:04 -04:00
Dmitry Rekman
5b887fb484 Linux: more changes for the editor.
From PR #140,  contributed by sbc100 and #ue4linux community.

[CL 2096299 by Dmitry Rekman in Main branch]
2014-06-05 17:11:45 -04:00
Jamie Dale
9c3629d2a6 Re-added support for custom categories in the Project Browser
TTP# 327759 - Cannot set Project Browser Category on user-created projects

The code for it had been removed during some other changes.

ReviewedBy Max.Preussner

[CL 2095998 by Jamie Dale in Main branch]
2014-06-05 16:40:19 -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
Ben Marsh
034f01c732 Add a single codepath to enumerate projects for an engine installation, which can be shared with the launcher.
#codereview Nicholas.Davies

[CL 2095028 by Ben Marsh in Main branch]
2014-06-04 18:06:57 -04:00
Ben Marsh
89668b5397 [INTEGRATE] Everything from 4.2 branch back into main.
[CL 2088526 by Ben Marsh in Main branch]
2014-05-29 17:45:17 -04:00
Jamie Dale
5a2a61c9c4 Fixed a "todo" about a module name assumption
This now uses GameProjectUtils::GetCurrentModuleContextInfo(), which provides the same information as used by the rest of the class wizard validation.

ReviewedBy Thomas.Sarkanen
#codereview Max.Preussner

[CL 2088202 by Jamie Dale in Main branch]
2014-05-29 17:38:55 -04:00
Jamie Dale
5a166cf0c5 MinimalAPI classes are now considered valid base classes in the class wizard
https://answers.unrealengine.com/questions/49569/i-cant-find-scenecapture2d-in-add-code-to-project.html

ReviewedBy Thomas.Sarkanen
#codereview Max.Preussner

[CL 2088201 by Jamie Dale in Main branch]
2014-05-29 17:38:42 -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
Ben Marsh
99da60781d Format the version string in upgraded projects the same way as it's formatted by the launcher. Stops silly names like "Tappy Chicken 4.1 (4.2)", and prevents creating a separate DDC directory due to bug in DDC INI parsing.
[CL 2086946 by Ben Marsh in Main branch]
2014-05-29 17:25:19 -04:00
Ben Marsh
7314dc268c Improve wording for project upgrade dialog depending on whether you're upgrading a code or content project. Also fix alignment of buttons in dialog.
[CL 2075975 by Ben Marsh in Main branch]
2014-05-16 16:54:03 -04:00
Ben Marsh
1ebcac20b5 Add a button to skip the conversion process for projects.
[CL 2075853 by Ben Marsh in Main branch]
2014-05-16 15:13:50 -04:00
Jamie Dale
435c1c76d5 Fixed the code generated by the New Project wizard not compiling
TTP# 332794 - EDITOR: Usability improvements for the New Class Wizard

GetClassLocation was failing because it was doing the validation based upon the current project, and not the project that was being created. I've changed the validation logic and creation functions to use a module context that must be provided; this allows the functions used to generate code for a new project to override the module validation information.

[CL 2075544 by Jamie Dale in Main branch]
2014-05-16 10:47:37 -04:00
Ben Marsh
63f9963d59 Removing calls to clean a project when switching versions. Paranoid that it might do the wrong thing more often than the right thing after seeing a bug in the engine association code yesterday, since UBT running successfully has so many preconditions.
#codereview Michael.Trepka

[CL 2075510 by Ben Marsh in Main branch]
2014-05-16 10:12:28 -04:00
Ben Marsh
dd4636aefd Fix infinite loop when duplicating a project if the last space is not followed by a version number.
[CL 2075445 by Ben Marsh in Main branch]
2014-05-16 09:12:15 -04:00
Jamie Dale
6ee0cd827d Added support for the Class Wizard to create non-UObject classes
TTP# 332794 - EDITOR: Usability improvements for the New Class Wizard

Abstracted away the parent class information into FNewClassInfo, which can hold either a UClass*, or an enum value corresponding to a pre-defined non-UObject type class (currently; an empty class, a Slate widget, and a Slate widget style).

Made the interface of GenerateClassHeaderFile and GenerateClassCPPFile more consistent. They now both take an unprefixed class name as well as the base class information; any extra information they can then generate internally. They also no longer rely on the filename to work out the class name, as the Slate classes may add a prefix or suffix to the filename due to the way the templates are set-up.

Updated everything in the SNewClassDialog and GameProjectUtils that was previously working with a UClass* to work with a FNewClassInfo instead.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2075367 by Jamie Dale in Main branch]
2014-05-16 07:26:51 -04:00
Ben Marsh
39ddb49221 Clean binaries and intermediates before upgrading projects. Prevents stale build products, and allows detecting missing binaries on startup.
[CL 2073589 by Ben Marsh in Main branch]
2014-05-14 19:11:30 -04:00
Ben Donatelli
b1b8c282fd Add Code to Project wizard now accounts for subfolders in path when replacing %MODULE_NAME% token in template
[CL 2073365 by Ben Donatelli in Main branch]
2014-05-14 16:05:52 -04:00
Jamie Dale
bac1e1a5d2 Condensed the class wizard layout so it wastes less space
TTP# 332794 - EDITOR: Usability improvements for the New Class Wizard

ReviewedBy Max.Preussner

[CL 2072777 by Jamie Dale in Main branch]
2014-05-14 07:07:29 -04:00
Jamie Dale
273df4a473 Improved the way the class wizard informs users about whether a class with be Public or Private
TTP# 332794 - EDITOR: Usability improvements for the New Class Wizard

It now displays a checkbox for Public and Private, with a tooltip explaining what each option means. If you're not using a Public/Private layout for your code, it disables these options and also displays a tooltip explaining why.

Clicking on one of these check boxes will adjust the current path to place the class either in the Public or Private folder, preserving any sub-path information correctly.

Finally, when creating a class in the Public or Classes folder, the class wizard will now automatically add the MODULENAME_API macro to the class declaration.

Also improved the button alignment used for the wizard.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2072761 by Jamie Dale in Main branch]
2014-05-14 06:47:25 -04:00