Commit Graph

53 Commits

Author SHA1 Message Date
Marc Audy
2077f3a586 Expose ProjectHasCodeFiles, GenerateBasicSourceCode, GetCurrentProjectModules and DetermineModuleIncludePath from GameProjectGenerationModule
[CL 2327274 by Marc Audy in Main branch]
2014-10-13 11:47:21 -04:00
Michael Noland
74fec032b6 Editor: Fix hardware target settings being written into the wrong config file when creating a new project (and thus not taking effect)
- HW target settings now write to DefaultEngine.ini instead of DefaultEditor.ini when generating a project
- HW target settings now write their enum value as a string instead of an integer when generating a project
#Integrate change 2326075 from 4.5 to main

[CL 2326077 by Michael Noland in Main branch]
2014-10-10 18:18:31 -04:00
Jaroslaw Palczynski
cc0f6d9a4e UObject custom constructors.
In order to use new feature user have to change GENERATED_UCLASS_BODY() macro to the new GENERATED_BODY(). Then no constructor is implicitly declared. If there is no constructor declared in UCLASS then PCIP one is declared and defined that passes PCIP down to super-class. On the other hand if there is a constructor declared then UObject system expects to have one of the default or PCIP constructor to initialize a class during loading from disk, default object creation, etc. and it expects that user will declare and define one.

There is a possibility now to create UCLASS with the default constructor (i.e. no PCIP).

New macro is encouraged by standard classes and in-editor wizards templates.

#codereview Robert.Manuszewski

[CL 2325282 by Jaroslaw Palczynski in Main branch]
2014-10-10 04:34:56 -04:00
Andrew Rodham
4ad1b987fc Improved progress reporting in the editor
FScopedSlowTask has been refactored to better allow for nesting of slow operations. This allows us to cascade nested scopes and provide accurate feedback on slow tasks. FScopedSlowTasks now work together when nested inside sub functions. Break up long functions that contain calls to multiple nested FScopedSlowTasks with FScopedSlowTask::EnterProgressFrame().

Example Usage:
void DoSlowWork()
{
    FScopedSlowTask Progress(2.f, LOCTEXT("DoingSlowWork", "Doing Slow Work..."));
    // Optionally make this show a dialog if not already shown
    Progress.MakeDialog();

    // Indicate that we are entering a frame representing 1 unit of work
    Progress.EnterProgressFrame(1.f);

    // DoFirstThing() can follow a similar pattern of creating a scope divided into frames. These contribute to their parent's progress frame proportionately.
    DoFirstThing();

    Progress.EnterProgressFrame(1.f);
    DoSecondThing();
}

This addresses TTP#338602 - NEEDS REVIEW: Editor progress bars nearly always just show 100%, don't offer useful indication of progress

[CL 2322391 by Andrew Rodham in Main branch]
2014-10-08 04:42:34 -04:00
Andrew Rodham
5a37b2dcfe Added hardware targeting options and starter content to project creation analytics event
#codereview Michael.Noland

[CL 2318356 by Andrew Rodham in Main branch]
2014-10-03 05:17:13 -04:00
bruce nesbit
8d8bd2250c Revised behaviour of GenerateConfigFiles so that it will extract the EditorStartupMap and GameDefaultMap from the ini files in the startercontent config folder if they exist
#codereview Marc.Audy

[CL 2315973 by bruce nesbit in Main branch]
2014-10-01 10:58:58 -04:00
Ben Marsh
5a461554bd Added a cancel button to Convert project -> Open a copy, so that you have an option to cancel project copying/duplication process.
GitHub PR 445, authored by nejclesek.

[CL 2310948 by Ben Marsh in Main branch]
2014-09-26 11:29:33 -04:00
Ben Marsh
0f78891b7d Add a program to bootstrap packaged games, which checks for dependencies being installed (an option to include prerequisites in the game is in the packaging settings), then starts the engine with the right commandline for the project. Takes an icon from Build/Windows/Application.ico if present (which allows setting the icon for content-only projects) or the game executable being launched. Resource files added to code projects now use this icon instead.
[CL 2307139 by Ben Marsh in Main branch]
2014-09-23 13:55:06 -04:00
Andrew Rodham
85b61bda9e Added HardwareTargeting module and tidied up project browser dialogs
Also removed tabs from the project browser dialogs when they're not necessary. Fixed up some incorrect icon sizes to work with the new layout.

[CL 2290664 by Andrew Rodham in Main branch]
2014-09-09 12:16:36 -04:00
Ben Marsh
7e47a9d047 Remove virtual function to return .uproject extension from IProjectManager.
[CL 2289650 by Ben Marsh in Main branch]
2014-09-08 13:51:36 -04:00
Zak Middleton
099f30697a #ue4 - Creating an empty project no longer generates an empty PlayerController class file.
#codereview James.Golding

[CL 2275333 by Zak Middleton in Main branch]
2014-08-27 18:29:46 -04:00
Dan Hertzka
f21c4df33e Analytics - Log size of source directory when the number of source files are logged
[CL 2267500 by Dan Hertzka in Main branch]
2014-08-22 11:35:01 -04:00
Ben Marsh
fddcde2522 Use DesktopPlatform functions to generate project files, and include the log in error messages if it fails.
[CL 2267315 by Ben Marsh in Main branch]
2014-08-22 08:33:51 -04:00
Michael Noland
1e2b2a7751 Editor: Allow 'Add Class' copyright notice to work in external projects, and change default external notice string to be 'fill this out in project settings'
#codereview Jamie.Dale

[CL 2257110 by Michael Noland in Main branch]
2014-08-14 18:39:11 -04:00
Ben Marsh
b57c79c540 Allow C++ plugins to hook game project generation. Contributed by solid-angle, https://github.com/EpicGames/UnrealEngine/pull/336.
[CL 2251943 by Ben Marsh in Main branch]
2014-08-11 17:14:26 -04:00
Jamie Dale
392966e05f The class wizard now displays the modules listed in your .uproject file as available targets for the new class
TTP# 342920 - EDITOR: Cloned C++ projects do not compile correctly
TTP# 342762 - Editor: Feature Request: Relax the restrictions on what game modules can have new classes created within them

This has allowed the validation logic to be simplified, as it pushes the responsibility onto the user to say which module they want their new class to go into, rather than relying on the validation logic to correctly infer which module the class should be going into.

This also relaxes the previous naming restrictions due to assumptions about module names, as you're now able to add code to any module listed in your .uproject file.

I've tested:
 - Adding code to a normal project.
 - Adding code to a cloned project.
 - Creating a new code based project.
 - Adding code to an empty/blueprint based project.

All of these cases generated code which compiled correctly.

#codereview Ben.Marsh, Max.Preussner

[CL 2242790 by Jamie Dale in Main branch]
2014-08-04 18:21:05 -04:00
Dmitry Rekman
5cfd4c2019 Linux editor: minor fixes.
- Part of PR #306 by amigo and #ue4linux community.
- Mostly things like initialization order changes, but also platform-specific additions/improvements.

#codereview Josh.Adams

[CL 2235441 by Dmitry Rekman in Main branch]
2014-07-29 01:53:30 -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
Maciej Mroz
f5e794eea7 EditoronlyBP enabled in new Blank project.
#codereview Nick.Whiting, Bob.Tellez

[CL 2225503 by Maciej Mroz in Main branch]
2014-07-21 09:14:28 -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
d0e6016bba Fixed opening solutions when creating a non-foreign project in a subdirectory of the engine root.
[CL 2114370 by Ben Marsh in Main branch]
2014-06-23 15:36:37 -04:00
Jamie Dale
e3c6911737 Generating a new class will now include the module header relative to a known include path
If the module is inside the Public or Classes folder, it is included directly (since all these folders are on the include path), otherwise it's included relative to the module source root (which is now on the include paths due to a recent UBT change).

ReviewedBy Ben.Donatelli

[CL 2109096 by Jamie Dale in Main branch]
2014-06-18 06:45:20 -04:00
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