Commit Graph

100 Commits

Author SHA1 Message Date
Ben Marsh
92a18a2298 Don't clobber the DefaultGame.ini file when adding feature packs to a project; it wipes out the project ID.
[CL 2527344 by Ben Marsh in Main branch]
2015-04-27 15:47:43 -04:00
Ben Marsh
e36b0c7a60 Use the output log dialog to show UBT output if a build fails, rather than trying to cram it into a normal message box.
[CL 2527309 by Ben Marsh in Main branch]
2015-04-27 15:33:53 -04:00
karolz
bef607854c Added a plugin creator wizard
Note: This plugin is currently disabled by default.

When enabled:
- It can be summoned from the main frame File menu as "Add Plugin...", and includes three templates currently:
- Blank: Creates a minimal plugin with no functionality
- Basic: Creates a plugin that adds a button to the main frame toolbar
- Advanced: Creates a standalone tab window, summoned via a button on the main frame toolbar

PR #865: Plugin creator 4.7 (Contributed by karolz)

[CL 2521691 by Michael Noland in Main branch]
2015-04-22 16:30:31 -04:00
Ben Marsh
e545a45a8b Fix empty projects not having a ProjectID set by default.
[CL 2521253 by Ben Marsh in Main branch]
2015-04-22 12:28:12 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Jamie Dale
7c1f59d338 Improved the error message when adding a new class fails due to a compile error
The fact that the error message said "failed to add class" despite the class itself being added was causing confusion.

In the case where adding a new class fails to hot-reload (probably due a compiler error) we now state that the class itself has been added, but that you'll need to recompile the module before it will appear in the editor, and offer an easy way to open the output log to see more detailed compiler output. We also automatically close the class wizard so that you're not left looking at an error message saying that "the class name is already in use".

[CL 2515833 by Jamie Dale in Main branch]
2015-04-17 10:02:43 -04:00
Ben Marsh
3059283e21 Add a better dialog for whenever we need to output the log from an external process, and use it to display errors when GenerateProjectFiles fails.
[CL 2506838 by Ben Marsh in Main branch]
2015-04-09 11:11:48 -04:00
Ben Marsh
d4273da009 Remove Windows resource files from generated game projects. Users can create resource files themselves if they need platform specific resources; we already provide a platform agnostic way of customizing the icon through the project settings, and any version strings would be better implemented in a similar platform-agnostic way. The current resources are full of Epic copyright and version information, can't be upgraded, and can't be opened with the Visual Studio resource editor.
[CL 2481827 by Ben Marsh in Main branch]
2015-03-17 13:42:32 -04:00
Jaroslaw Palczynski
6c305898e0 UE-8578: Slate Widget fails to compile once added to a new project
Slate Widget was failing, because of missing Slate dependencies. Testing introduced a couple of problems which all was fixed by this CL:
1. I introduced AdditionalDependencies in .uproject file and change "Add Code To Project..." procedure to fill this array if needed. UBT reads this field and builds the project with required modules. Needed for Slate classes.
2. Changed UHT to #include missing headers in generated.h files if it was missing an include for it's super class. It was causing problems if we were trying to add a subclass of BrushShape -- BrushShape.h didn't have #include "Brush.h" and UBrushShape was inheriting from UBrush.
3. Above problems also occured for Slate classes, but not all of them was UCLASSes, so I had to fixed that manually.
4. "Add Code To Project..." functionality was not invalidating UBT makefiles, which lead to omitting new source files during hot-reloading (even thought it was reporting a success). This change also should improve a bit performance, cause right now there is no "gathering" step -- there is only invalidate step which is a lot quicker.
5. Fixed "Selected Class Source" link to source class in Slate Widget and Slate Widget Style class.

#codereview Robert.Manuszewski

[CL 2481488 by Jaroslaw Palczynski in Main branch]
2015-03-17 09:34:18 -04:00
Richard Hinckley
de99efeeb8 [UE-11407] Fixing default map names for blank projects in Main to match 4.7.
[CL 2471309 by Richard Hinckley in Main branch]
2015-03-06 11:59:18 -05:00
Gil Gribb
35cf42566a UE4 - merge GDC branch, code @2465640 to main
[CL 2468685 by Gil Gribb in Main branch]
2015-03-04 08:31:40 -05:00
bruce nesbit
64c9836745 Fixed map path for starter content
[CL 2467436 by bruce nesbit in Main branch]
2015-03-03 05:13:05 -05:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Matt Kuhlenschmidt
1786d2e278 It is no longer an error breaking the ability to create a new project if a new project files cannot be added to source control. The attempt is still made however.
[CL 2456146 by Matt Kuhlenschmidt in Main branch]
2015-02-23 10:36:28 -05:00
Jaroslaw Palczynski
9ea6294dfc GitHub pull request #706
[CL 2451574 by Jaroslaw Palczynski in Main branch]
2015-02-19 09:46:42 -05:00
Jamie Dale
22010f5259 Made the context menu naming for adding new C++ classes consistent
UE-9418 - Unify description for adding C++ Class to project

[CL 2450363 by Jamie Dale in Main branch]
2015-02-18 12:30:56 -05:00
Matthew Griffin
48255ce5c9 [INTEGRATE] Change 2443405 by Richard.Hinckley@Richard.Hinckley_Z3230_Releases on 2015/02/12 09:48:14
C++ template improvements for "Add Code" editor feature.

[CL 2449833 by Matthew Griffin in Main branch]
2015-02-18 05:00:44 -05:00
Jamie Dale
44f3a14bb1 Added the ability to derive a Blueprint from a C++ class via the Content Browser
UE-9293 - Should offer 'Create BP' when right clicking on C++ class in Browser

There is now a "Create Blueprint class based on X" option alongside the "Create C++ class derived from X" option when viewing the context menu for a C++ Class in the Content Browser. This allows you to create a new Blueprint asset from C++ classes that are marked as blueprintable.

[CL 2447345 by Jamie Dale in Main branch]
2015-02-16 12:49:48 -05:00
Jamie Dale
7a631aa939 Added support for "gathering" project files via the editor
This is needed for UBT to update its makefiles when we add new code via the editor.

Updating UBT makefiles is more typically handled by re-generating project files, however on Windows we use DTE to inject new files directly into Visual Studio in an attempt to avoid re-generating project files (as it produces modal popups that block operations), so we need to perform a gather instead so that UBT knows things have changed.

ReviewedBy Mike.Fricker

[CL 2446903 by Jamie Dale in Main branch]
2015-02-16 07:53:59 -05:00
Matthew Griffin
246edb4781 [INTEGRATE] Change 2435332 by Andrew.Rodham@AndrewRodham_4.7 on 2015/02/06 09:25:07
Generalized "Add Code to Project" dialog to allow creation of both c++ and blueprint class types.

	The add component option when blueprintable components is enabled, now opens up this dialog rather than the parent class picker.

	UE-8491 - IWCE: New C++ Component and New Blueprint Component should prompt you for a component type to subclass

[CL 2446735 by Matthew Griffin in Main branch]
2015-02-16 04:29:11 -05:00
Matthew Griffin
e3fc803cec [INTEGRATE] Change 2431516 by bruce.nesbit@bnesbit_Releases on 2015/02/04 06:23:58
Revised starter content so it is inserted into projects using feature packs.
	Removed StarterContent source data from rocket build.

[CL 2438072 by Matthew Griffin in Main branch]
2015-02-09 10:40:24 -05:00
Matthew Griffin
65d7ca2532 [INTEGRATE] Change 2429834 by Jamie.Dale@Pitbull_JDaleReleases on 2015/02/03 08:58:13
Fixed adding a new class via the editor reaching 100% while it was still compiling the code

	An extra step had been added to the task, but the number of sub-tasks had been left at 6.

[CL 2437768 by Matthew Griffin in Main branch]
2015-02-09 06:17:18 -05:00
Matthew Griffin
e0ff796744 [INTEGRATE] Change 2428300 by Jamie.Dale@Pitbull_JDaleReleases on 2015/02/02 12:25:57
Added a way to use DTE to add new files directly into VS without having to generate projects

	This avoids the annoying "Do you want to reload?" dialog that appears in VS when projects are externally changed, and also saves us the cost/time of having to run UBT to generate projects.

[CL 2435515 by Matthew Griffin in Main branch]
2015-02-06 11:27:24 -05:00
Mikolaj Sieluzycki
fa01cacb6c Trim down the amount of UObject constructors.
#codereview Robert.Manuszewski

[CL 2429641 by Mikolaj Sieluzycki in Main branch]
2015-02-03 05:40:57 -05:00
Ben Marsh
29219e7124 [INTEGRATE] Change 2421194 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/27 17:44:17
Improvements to naming of newly-created C++ and BP components through SCS tree
	- Strip off "_C" suffix on newly created Blueprint classes
	- Don't strip "Component" from Blueprint class names unless it is the suffix
	- Changed prefix for newly-created C++ components from "My" to "New"
	- New Blueprint components default to the name of the class unless they are Blueprints of UActorComponent, in which case the name is just "NewComponent"
	- New C++ components default to the name of the class unless they inherit from UActorComponent, in which case the name is just "NewComponent"
	#codereview matt.kuhlenschmidt

[CL 2425794 by Ben Marsh in Main branch]
2015-01-30 10:35:05 -05:00