Commit Graph

112 Commits

Author SHA1 Message Date
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
Ben Marsh
e9216a077c [INTEGRATE] Change 2418633 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/26 10:53:14
Fix regression with Class Wizard-generated source files not compiling sometimes
	- Now, only AActor, USceneComponent and UActorComponent get "special" generated source
	- FObjectInitializer constructors are no longer used in code generated for these classes

[CL 2419738 by Ben Marsh in Main branch]
2015-01-26 20:22:04 -05:00
Ben Marsh
3d2ab1d349 [INTEGRATE] Change 2417935 by Matt.Kuhlenschmidt@matt_kuhlenschmidt_main on 2015/01/24 16:23:14
Added an experimental method to add a new C++ class derived from ActorComponent to an actor.  The purpose of this is to add scripting support directly on an actor without subclassing the actor.

[CL 2419710 by Ben Marsh in Main branch]
2015-01-26 20:16:24 -05:00
Ben Marsh
a05abb1027 [INTEGRATE] Change 2417928 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/24 15:53:14
Fixed failed C++ hot reload not displaying an error to the user (UE-8241)
	- Also added slightly better progress reporting to hot reload when adding code to a project

[CL 2419709 by Ben Marsh in Main branch]
2015-01-26 20:16:08 -05:00
Ben Marsh
142408095d [INTEGRATE] Change 2417804 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/24 11:19:31
Allow C++ class template source files to have cursor location markup (not just header files)
	- This feature is not currently used but will be in the future

[CL 2419695 by Ben Marsh in Main branch]
2015-01-26 20:13:06 -05:00
Ben Marsh
a48256099d [INTEGRATE] Change 2417468 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/23 18:23:34
New C++ code templates for Actor and ActorComponents
	- When using "Add C++ Code" in the editor, you'll now get nice starter classes for common class types
	- Classes that inherit from Actor will get a constructor, BeginPlay, and Tick (and will tick by default)
	- Classes inheriting from ActorComponent will get a constructor, InitializeComponent and TickComponent (and will tick by default)

	More improvements coming soon...

	#codereview matt.kuhlenschmidt, james.golding

[CL 2419674 by Ben Marsh in Main branch]
2015-01-26 20:01:46 -05:00
Jaroslaw Palczynski
adecd4aaad UHT: Allows defining multiple UCLASSes in one header file.
[CL 2412156 by Jaroslaw Palczynski in Main branch]
2015-01-20 09:33:54 -05:00
Jamie Dale
55c3728d11 Added support for showing game and engine classes in the Content Browser
UE-7184 - Show game c++ classes and engine c++ classes in the content browser

The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.

For example:
- Game C++ Classes
    - ShooterGame
        - Classes
            - Bots
                - ShooterBot
                - ShooterAIController
                - [...]
            - [...]

The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).

As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).

[CL 2409386 by Jamie Dale in Main branch]
2015-01-16 15:39:47 -05:00
Ben Marsh
1f5b1222c2 Remove GenerateNewProjectFile from IProjectManager.
[CL 2401854 by Ben Marsh in Main branch]
2015-01-09 08:08:13 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Michael Noland
5bc29b81a6 Editor: Add some verbose logging to help diagonse issues when creating new project templates
[CL 2387348 by Michael Noland in Main branch]
2014-12-12 15:38:16 -05:00
James Golding
1e88566029 Fix non-unity in GameProjectUtils.cpp
#codereview ben.marsh
#lockdown Zachary.EdgertonJones

[CL 2387090 by James Golding in Main branch]
2014-12-12 12:30:06 -05:00
Ben Marsh
4d275b2721 Immediately compile and open new code projects (rather than opening the IDE and requiring the user do it themselves).
#codereview lauren.ridge

[CL 2386116 by Ben Marsh in Main branch]
2014-12-11 16:39:39 -05:00
Robert Manuszewski
cb091bcd80 Hot-Reload improvements:
- CDO property values that have changed after hot-reload will now be propagated to the existing instances
- Adding code to a non-code project will no longer require restarting the editor to be able to work with new code (the new module will automatically be compiled and loaded)

[CL 2385307 by Robert Manuszewski in Main branch]
2014-12-11 06:03:58 -05:00