Commit Graph

31 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
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
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
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
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
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 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
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
James Golding
9d41682161 Fix typo in GameProjectUtils::AddCodeToProject_Internal
https://github.com/EpicGames/UnrealEngine/pull/143/files (mlewand)

[CL 2070129 by James Golding in Main branch]
2014-05-12 08:38:56 -04:00
Peter Sauerbrei
1877e59df2 Don't allow an underscore in the project name if the XB1 XDK is installed
Fixes TTP333191
#ue4

[CL 2067286 by Peter Sauerbrei in Main branch]
2014-05-08 15:03:34 -04:00
Andrew Copland
babb59df1e Change the name length check to launch a descriptive warning after opening a project rather than error out on the request to open.
#ttp 333947 the landscape_worldmachine project cannot be opened on my machine because the project name is longer than 20 characters.
reviewed by Thomas.Sarkanen

[CL 2061059 by Andrew Copland in Main branch]
2014-05-01 10:58:35 -04:00
Andrew Copland
26a350742e Further limit the game name length (20 characters), predict the cooking path length and limit the naming length accordingly.
#ttp 332328 Content Browser: Need new warnings about long relative path lengths for assets
#proj Editor
#branch UE4
reviewed by Thomas.Sarkanen

[CL 2055478 by Andrew Copland in Main branch]
2014-04-24 10:58:49 -04:00
Ben Marsh
89f5f31f32 [INTEGRATE] Engine source and content from 4.1 branch.
[CL 2053735 by Ben Marsh in Main branch]
2014-04-23 20:10:59 -04:00
Ben Marsh
4018ebbf4e Fill in the binary editor's file association when freshening a sample project during a Rocket build, rather than using the current engine's file association string (build machines won't have one).
[CL 2053272 by Ben Marsh in Main branch]
2014-04-23 20:05:01 -04:00
Jamie Dale
b20020f7bd #ttp 332842 - CRITICAL: Regression: EDITOR: No source folder when creating a blank project
#proj UE4
#branch UE4
#summary Made the source path validation more lenient when adding code to a project for the first time
#change GameProjectUtils::CalculateSourcePaths no longer checks that the module source folder exists on disk if the project contains no code.
#change GameProjectUtils::IsValidSourcePath no longer allows partial module name matches (to match both MyModule, and MyModuleEditor) if the project contains no code.
#reviewedby Thomas.Sarkanen, Max.Preussner

[CL 2049803 by Jamie Dale in Main branch]
2014-04-23 19:33:00 -04:00
Jamie Dale
c010db2fb4 #ttp 322244 - LIVE: Feature Request: During "Add Code to Project", allow user to select path where files go
#proj UE4
#branch UE4
#summary You can now choose where to place a class added via the New Class Wizard
#extra This tries to be smart about your placement if you have Public and Private folders for your project.
- By default the header would go into Public, and the source file would go into Private.
- If you select the Public/Classes folder for the path, the source file will still go into Private.
- If you have a sub-path, eg) /Public/MyStuff/MyClass.h, this will be mirrored in the placement of the source file, eg) /Private/MyStuff/MyClass.cpp
#extra If you're not using Public or Private folders it will just place the source at whatever path you specified.
#extra It will verify that your source code is going to a valid module folder for your game, and also allows matching of modules that start with your game name, eg) MyGame, MyGameEditor.
#reviewedby Thomas.Sarkanen, Max.Preussner

[CL 2046528 by Jamie Dale in Main branch]
2014-04-23 18:50:08 -04:00