upload
This commit is contained in:
62
UnrealEd/Classes/ASVSkelComponent.uc
Normal file
62
UnrealEd/Classes/ASVSkelComponent.uc
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class ASVSkelComponent extends SkeletalMeshComponent
|
||||
transient
|
||||
native;
|
||||
|
||||
var native const pointer AnimSetViewerPtr;
|
||||
|
||||
/** If TRUE, render a wireframe skeleton of the mesh animated with the raw (uncompressed) animation data. */
|
||||
var bool bRenderRawSkeleton;
|
||||
/** If TRUE, render softbody tetrahedra */
|
||||
var bool bShowSoftBodyTetra;
|
||||
|
||||
/** Holds onto the bone color that will be used to render the bones of its skeletal mesh */
|
||||
var Color BoneColor;
|
||||
|
||||
/** If TRUE then the skeletal mesh associated with the component is drawn. */
|
||||
var bool bDrawMesh;
|
||||
|
||||
/** Bone influences viewing */
|
||||
var transient bool bDrawBoneInfluences;
|
||||
|
||||
/** Color render mode enum value - 0 - none, 1 - tangent, 2 - normal, 3 - mirror, 4 - bone weighting */
|
||||
var native transient int ColorRenderMode;
|
||||
/** Array of bone's to render bone weights for */
|
||||
var transient array<int> BonesOfInterest;
|
||||
/** Array of materials to restore when not rendering blend weights */
|
||||
var transient array<MaterialInterface> SkelMaterials;
|
||||
|
||||
cpptext
|
||||
{
|
||||
// UPrimitiveComponent interface.
|
||||
virtual FPrimitiveSceneProxy* CreateSceneProxy();
|
||||
|
||||
/**
|
||||
* Function that returns whether or not CPU skinning should be applied
|
||||
* Allows the editor to override the skinning state for editor tools
|
||||
*/
|
||||
virtual UBOOL ShouldCPUSkin();
|
||||
|
||||
/**
|
||||
* Function to operate on mesh object after its created,
|
||||
* but before it's attached.
|
||||
* @param MeshObject - Mesh Object owned by this component
|
||||
*/
|
||||
virtual void PostInitMeshObject(class FSkeletalMeshObject* MeshObject);
|
||||
|
||||
/**
|
||||
* Update material information depending on color render mode
|
||||
* Refresh/replace materials
|
||||
*/
|
||||
void ApplyColorRenderMode(INT InColorRenderMode);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
bDrawMesh = true
|
||||
bShowSoftBodyTetra = true
|
||||
BoneColor = (R=230, G=230, B=255, A=255)
|
||||
bUseOnePassLightingOnTranslucency=true
|
||||
}
|
24
UnrealEd/Classes/AnimNodeEditInfo.uc
Normal file
24
UnrealEd/Classes/AnimNodeEditInfo.uc
Normal file
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* AnimNodeEditInfo
|
||||
* Allows you to register extra editor functionality for a specific AnimNode class.
|
||||
* One of each class of these will be instanced for each AnimTreeEditor context.
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class AnimNodeEditInfo extends Object
|
||||
native
|
||||
abstract;
|
||||
|
||||
var const class<AnimNode> AnimNodeClass;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void OnDoubleClickNode(UAnimNode* InNode, class WxAnimTreeEditor* InEditor) {}
|
||||
virtual void OnCloseAnimTreeEditor() {}
|
||||
virtual UBOOL ShouldDrawWidget() { return FALSE; }
|
||||
virtual UBOOL IsRotationWidget() { return TRUE; }
|
||||
virtual FMatrix GetWidgetTM() { return FMatrix::Identity; }
|
||||
virtual void HandleWidgetDrag(const FQuat& DeltaQuat, const FVector& DeltaTranslate) {}
|
||||
virtual void Draw3DInfo(const FSceneView* View, FPrimitiveDrawInterface* PDI) {}
|
||||
}
|
28
UnrealEd/Classes/AnimNodeEditInfo_AimOffset.uc
Normal file
28
UnrealEd/Classes/AnimNodeEditInfo_AimOffset.uc
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
class AnimNodeEditInfo_AimOffset extends AnimNodeEditInfo
|
||||
native;
|
||||
|
||||
|
||||
var native const pointer EditWindow{class WxAnimAimOffsetEditor};
|
||||
var AnimNodeAimOffset EditNode;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void OnDoubleClickNode(UAnimNode* InNode, class WxAnimTreeEditor* InEditor);
|
||||
virtual void OnCloseAnimTreeEditor();
|
||||
virtual UBOOL ShouldDrawWidget();
|
||||
virtual UBOOL IsRotationWidget();
|
||||
virtual FMatrix GetWidgetTM();
|
||||
virtual void HandleWidgetDrag(const FQuat& DeltaQuat, const FVector& DeltaTranslate);
|
||||
virtual void Draw3DInfo(const FSceneView* View, FPrimitiveDrawInterface* PDI);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
AnimNodeClass=class'Engine.AnimNodeAimOffset'
|
||||
}
|
19
UnrealEd/Classes/AnimSetLabelRenderer.uc
Normal file
19
UnrealEd/Classes/AnimSetLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* This is the anim set label renderer
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class AnimSetLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and anim set
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
16
UnrealEd/Classes/AnimTreeEdSkelComponent.uc
Normal file
16
UnrealEd/Classes/AnimTreeEdSkelComponent.uc
Normal file
@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class AnimTreeEdSkelComponent extends SkeletalMeshComponent
|
||||
native;
|
||||
|
||||
var transient native const pointer AnimTreeEdPtr;
|
||||
|
||||
cpptext
|
||||
{
|
||||
// UPrimitiveComponent interface.
|
||||
virtual void Render(const FSceneView* View, class FPrimitiveDrawInterface* PDI);
|
||||
|
||||
// USkeletalMeshComponent interface.
|
||||
virtual UBOOL LegLineCheck(const FVector& Start, const FVector& End, FVector& HitLocation, FVector& HitNormal, const FVector& Extent = FVector(0.f));
|
||||
}
|
19
UnrealEd/Classes/AnimTreeLabelRenderer.uc
Normal file
19
UnrealEd/Classes/AnimTreeLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* This is the anim tree label renderer
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class AnimTreeLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and information about the anim tree
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
19
UnrealEd/Classes/ApexClothingAssetLabelRenderer.uc
Normal file
19
UnrealEd/Classes/ApexClothingAssetLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/*=============================================================================
|
||||
ApexClothingAssetLabelRenderer.uc: Apex integration for Clothing Assets.
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class ApexClothingAssetLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and information about meshes, assets & chunks
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
19
UnrealEd/Classes/ApexDestructibleAssetLabelRenderer.uc
Normal file
19
UnrealEd/Classes/ApexDestructibleAssetLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/*=============================================================================
|
||||
ApexDestructibleAssetLabelRenderer.uc: Apex integration for Destructible Assets
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class ApexDestructibleAssetLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and information about meshes, assets & chunks
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
31
UnrealEd/Classes/ApexDestructibleAssetThumbnailRenderer.uc
Normal file
31
UnrealEd/Classes/ApexDestructibleAssetThumbnailRenderer.uc
Normal file
@ -0,0 +1,31 @@
|
||||
/*=============================================================================
|
||||
ApexDestructibleThumbnailRenderer.uc: Apex integration for Destructible Assets
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
class ApexDestructibleAssetThumbnailRenderer extends DefaultSizedThumbnailRenderer
|
||||
native
|
||||
config(Editor);
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Draws a thumbnail for the object that was specified
|
||||
*
|
||||
* @param Object the object to draw the thumbnail for
|
||||
* @param PrimType ignored
|
||||
* @param X the X coordinate to start drawing at
|
||||
* @param Y the Y coordinate to start drawing at
|
||||
* @param Width the width of the thumbnail to draw
|
||||
* @param Height the height of the thumbnail to draw
|
||||
* @param Viewport ignored
|
||||
* @param Canvas the render interface to draw with
|
||||
* @param BackgroundType type of background for the thumbnail
|
||||
* @param PreviewBackgroundColor background color for material previews
|
||||
* @param PreviewBackgroundColorTranslucent background color for translucent material previews
|
||||
*/
|
||||
virtual void Draw(UObject* Object,EThumbnailPrimType,INT X,INT Y,
|
||||
DWORD Width,DWORD Height,FRenderTarget*,FCanvas* Canvas,
|
||||
EThumbnailBackgroundType BackgroundType,
|
||||
FColor PreviewBackgroundColor,
|
||||
FColor PreviewBackgroundColorTranslucent);
|
||||
}
|
19
UnrealEd/Classes/ApexGenericAssetLabelRenderer.uc
Normal file
19
UnrealEd/Classes/ApexGenericAssetLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/*=============================================================================
|
||||
ApexGenericAssetLabelRenderer.uc: Apex integration for Generic Assets.
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class ApexGenericAssetLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and information about meshes, assets & chunks
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
25
UnrealEd/Classes/ArchetypeThumbnailRenderer.uc
Normal file
25
UnrealEd/Classes/ArchetypeThumbnailRenderer.uc
Normal file
@ -0,0 +1,25 @@
|
||||
/**
|
||||
* This is a simple thumbnail renderer that uses a specified icon as the
|
||||
* thumbnail view for a resource. It will only render UClass objects with
|
||||
* the CLASS_Archetype flag
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class ArchetypeThumbnailRenderer extends IconThumbnailRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Allows the thumbnail renderer object the chance to reject rendering a
|
||||
* thumbnail for an object based upon the object's data. For instance, an
|
||||
* archetype should only be rendered if it's flags have RF_ArchetypeObject.
|
||||
*
|
||||
* @param Object the object to inspect
|
||||
* @param bCheckObjectState TRUE indicates that the object's state should be inspected to determine whether it can be supported;
|
||||
* FALSE indicates that only the object's type should be considered (for caching purposes)
|
||||
*
|
||||
* @return TRUE if it needs a thumbnail, FALSE otherwise
|
||||
*/
|
||||
virtual UBOOL SupportsThumbnailRendering(UObject* Object,UBOOL bCheckObjectState=TRUE);
|
||||
}
|
146
UnrealEd/Classes/BasicStatsVisualizer.uc
Normal file
146
UnrealEd/Classes/BasicStatsVisualizer.uc
Normal file
@ -0,0 +1,146 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Basic stat visualizer for game statistics
|
||||
*/
|
||||
class BasicStatsVisualizer extends GameStatsVisualizer
|
||||
native(GameStats)
|
||||
config(Editor);
|
||||
|
||||
/** Array of drawing properties per stat type setup in .ini */
|
||||
struct native StatDrawingProperties
|
||||
{
|
||||
var int EventID; //EventID associated with these properties
|
||||
var color StatColor; //Color to draw the sprite
|
||||
var float Size; //Size of the sprite
|
||||
var string SpriteName; //Name of the sprite resource
|
||||
var Texture2D StatSprite; //Actual sprite texture
|
||||
};
|
||||
|
||||
/** Generic stat container */
|
||||
struct native BasicStatEntry
|
||||
{
|
||||
var int EventID;
|
||||
var string EventName;
|
||||
var float EventTime;
|
||||
var vector Location;
|
||||
var rotator Rotation;
|
||||
};
|
||||
|
||||
/** Stat container with enough data to draw player information */
|
||||
struct native PlayerEntry extends BasicStatEntry
|
||||
{
|
||||
var int PlayerIndex;
|
||||
var string PlayerName;
|
||||
var string WeaponName;
|
||||
};
|
||||
|
||||
/** Stat container for a player player interaction */
|
||||
struct native PlayerPlayerEntry extends BasicStatEntry
|
||||
{
|
||||
var int Player1Index;
|
||||
var string Player1Name;
|
||||
var int Player2Index;
|
||||
var string Player2Name;
|
||||
var vector Player2Location;
|
||||
var rotator Rotation2;
|
||||
};
|
||||
|
||||
/** Stat container for a player targeting action (kill/melee/death/etc) */
|
||||
struct native PlayerTargetEntry extends BasicStatEntry
|
||||
{
|
||||
var string KillType;
|
||||
var string DamageType;
|
||||
|
||||
var int PlayerIndex;
|
||||
var string PlayerName;
|
||||
|
||||
var int TargetIndex;
|
||||
var string TargetName;
|
||||
var vector TargetLocation;
|
||||
var rotator TargetRotation;
|
||||
};
|
||||
|
||||
cpptext
|
||||
{
|
||||
/** Given a chance to initialize */
|
||||
virtual void Init();
|
||||
|
||||
/** Reset the visualizer to initial state */
|
||||
virtual void Reset();
|
||||
|
||||
/**
|
||||
* Visualizes all stats in a very basic way (sprite at a location with an orientation arrow typically)
|
||||
* @param View - the view being drawn in
|
||||
* @param PDI - draw interface for primitives
|
||||
* @param ViewportType - type of viewport being draw (perspective, ortho)
|
||||
*/
|
||||
virtual void Visualize(const FSceneView* View, class FPrimitiveDrawInterface* PDI, ELevelViewportType ViewportType);
|
||||
|
||||
/**
|
||||
* Draw your stuff as a canvas overlay
|
||||
* @param ViewportClient - viewport client currently drawing
|
||||
* @param View - the view being drawn in
|
||||
* @param Canvas - overlay canvas
|
||||
* @param ViewportType - type of viewport being draw (perspective, ortho)
|
||||
*/
|
||||
virtual void VisualizeCanvas(FEditorLevelViewportClient* ViewportClient, const FSceneView* View, FCanvas* Canvas, ELevelViewportType ViewportType);
|
||||
|
||||
/**
|
||||
* Return the drawing properties defined for the given EventID
|
||||
* @param EventID - EventID to get the drawing property for
|
||||
*/
|
||||
const FStatDrawingProperties& GetDrawingProperties(int EventID);
|
||||
|
||||
/** Called before any database entries are given to the visualizer */
|
||||
virtual void BeginVisiting();
|
||||
|
||||
/** Called at the end of database entry traversal, returns success or failure */
|
||||
virtual UBOOL EndVisiting();
|
||||
|
||||
/** Returns the number of data points the visualizer is actively working with */
|
||||
virtual INT GetVisualizationSetCount() const;
|
||||
|
||||
/**
|
||||
* Retrieve some metadata about an event
|
||||
* @param EventIndex - some visualizer relative index about the data to get metadata about
|
||||
* @param MetadataString - return string containing information about the event requested
|
||||
*/
|
||||
virtual void GetMetadata(INT EventIndex, FString& MetadataString);
|
||||
|
||||
/** Called when a hitproxy belonging to this visualizer is triggered */
|
||||
virtual void HandleHitProxy(struct HGameStatsHitProxy* HitProxy);
|
||||
|
||||
/**
|
||||
* Basic idea here is to just transfer/copy the stat information out of the database
|
||||
* and into a form capable of displaying a sprite/arrow/color at a given position
|
||||
*/
|
||||
virtual void Visit(class GameStringEntry* Entry);
|
||||
virtual void Visit(class GameIntEntry* Entry);
|
||||
virtual void Visit(class GamePositionEntry* Entry);
|
||||
virtual void Visit(class TeamIntEntry* Entry);
|
||||
virtual void Visit(class PlayerStringEntry* Entry);
|
||||
virtual void Visit(class PlayerIntEntry* Entry);
|
||||
virtual void Visit(class PlayerFloatEntry* Entry);
|
||||
virtual void Visit(class PlayerLoginEntry* Entry);
|
||||
virtual void Visit(class PlayerSpawnEntry* Entry);
|
||||
virtual void Visit(class PlayerKillDeathEntry* Entry);
|
||||
virtual void Visit(class PlayerPlayerEntry * Entry);
|
||||
virtual void Visit(class WeaponEntry* Entry);
|
||||
virtual void Visit(class DamageEntry* Entry);
|
||||
virtual void Visit(class ProjectileIntEntry* Entry);
|
||||
}
|
||||
|
||||
/** Metadata to help draw the statistics */
|
||||
var const config array<StatDrawingProperties> DrawingProperties;
|
||||
|
||||
/** All data to be drawn by this visualizer */
|
||||
var array<BasicStatEntry> BasicEntries;
|
||||
var array<PlayerEntry> PlayerEntries;
|
||||
var array<PlayerPlayerEntry> PlayerPlayerEntries;
|
||||
var array<PlayerTargetEntry> PlayerTargetEntries;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
FriendlyName="Basic Stats Visualizer"
|
||||
}
|
104
UnrealEd/Classes/BrowserManager.uc
Normal file
104
UnrealEd/Classes/BrowserManager.uc
Normal file
@ -0,0 +1,104 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* This class handles the registration, creation, and destruction of browser
|
||||
* panes. All of the browser panes are registered in an INI file so that they
|
||||
* can be late bound into the editor.
|
||||
*
|
||||
* @see UBrowserManager.h for the native definitions
|
||||
*/
|
||||
class BrowserManager extends Object
|
||||
native
|
||||
config(Editor);
|
||||
|
||||
/**
|
||||
* Struct containing the information needed to register a browser window
|
||||
*/
|
||||
struct native BrowserPaneInfo
|
||||
{
|
||||
/**
|
||||
* This is the browser pane id used for associating instantiated windows
|
||||
* with their events, etc.
|
||||
*/
|
||||
var int PaneID;
|
||||
/**
|
||||
* The name of the wxWindow to create for the browser pane.
|
||||
* NOTE: This must be a subclass of WxDockableWindow
|
||||
*/
|
||||
var String WxWindowClassName;
|
||||
/**
|
||||
* This is the friendly name used to find browsers by name instead of
|
||||
* by id
|
||||
*/
|
||||
var String FriendlyName;
|
||||
/**
|
||||
* True if the browser pane should be hidden at first-time startup
|
||||
*/
|
||||
var const bool bInitiallyHidden;
|
||||
/**
|
||||
* Used to indicate that this pane is a clone of a "canonical" pane. This
|
||||
* is used to allow the removal of a clone, but hiding of a "canonical"
|
||||
* pane. This prevents the user from permanently deleting a pane from
|
||||
* their configuration.
|
||||
*/
|
||||
var const int CloneOfPaneID;
|
||||
/**
|
||||
* Number for this clone so that the description can indicate it (Log-1)
|
||||
*/
|
||||
var const int CloneNumber;
|
||||
/**
|
||||
* This is a pointer to the window that has been created
|
||||
*/
|
||||
var const transient pointer WxBrowserPtr;
|
||||
};
|
||||
|
||||
/**
|
||||
* Holds the list of browser panes to create/support
|
||||
*/
|
||||
var config array<BrowserPaneInfo> BrowserPanes;
|
||||
|
||||
/**
|
||||
* Whether the browser panes have been created or not
|
||||
*/
|
||||
var bool bHasCreatedPanes;
|
||||
/**
|
||||
* Whether the browser panes have been restored to their state from last frame
|
||||
*/
|
||||
var bool bHasStateBeenRestored;
|
||||
|
||||
/**
|
||||
* Whether a browser window is being created/remove, or selection changing, interactively by the user. We use
|
||||
* this state to prevent the Ctrl+Tab dialog from showing in some cases.
|
||||
*/
|
||||
var bool bIsBrowserLayoutChanging;
|
||||
|
||||
/**
|
||||
* The last selected browser pane
|
||||
*/
|
||||
var config int LastSelectedPaneID;
|
||||
|
||||
/**
|
||||
* Holds references to browser panes that were created
|
||||
*/
|
||||
var const transient pointer CreatedPanesPtr;
|
||||
|
||||
/**
|
||||
* This is the docking container instance
|
||||
*/
|
||||
var const transient pointer DockingContainerPtr;
|
||||
|
||||
/**
|
||||
* Holds the list of floating windows not docked in the docking container
|
||||
*/
|
||||
var const transient pointer FloatingWindowsArrayPtr;
|
||||
|
||||
/**
|
||||
* Holds the pointer to the frame window's menus that are to be changed as
|
||||
* browsers are created and removed.
|
||||
*/
|
||||
var const transient pointer BrowserMenuPtr;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
bIsBrowserLayoutChanging = false;
|
||||
}
|
69
UnrealEd/Classes/BrushBuilder.uc
Normal file
69
UnrealEd/Classes/BrushBuilder.uc
Normal file
@ -0,0 +1,69 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// BrushBuilder: Base class of UnrealEd brush builders.
|
||||
//
|
||||
// Tips for writing brush builders:
|
||||
//
|
||||
// * Always validate the user-specified and call BadParameters function
|
||||
// if anything is wrong, instead of actually building geometry.
|
||||
// If you build an invalid brush due to bad user parameters, you'll
|
||||
// cause an extraordinary amount of pain for the poor user.
|
||||
//
|
||||
// * When generating polygons with more than 3 vertices, BE SURE all the
|
||||
// polygon's vertices are coplanar! Out-of-plane polygons will cause
|
||||
// geometry to be corrupted.
|
||||
//=============================================================================
|
||||
|
||||
class BrushBuilder
|
||||
extends Object
|
||||
abstract
|
||||
hidecategories(Object,BrushBuilder)
|
||||
native;
|
||||
|
||||
var(BrushBuilder) string BitmapFilename;
|
||||
|
||||
/** Localized string that will be displayed as the name of this brush builder in the editor */
|
||||
var(BrushBuilder) string ToolTip;
|
||||
|
||||
// Internal state, not accessible to script.
|
||||
struct BuilderPoly
|
||||
{
|
||||
var array<int> VertexIndices;
|
||||
var int Direction;
|
||||
var name Item;
|
||||
var int PolyFlags;
|
||||
};
|
||||
var private array<vector> Vertices;
|
||||
var private array<BuilderPoly> Polys;
|
||||
var deprecated private name Group;
|
||||
var private name Layer;
|
||||
var private bool MergeCoplanars;
|
||||
|
||||
// Native support.
|
||||
native function BeginBrush( bool InMergeCoplanars, name InLayer );
|
||||
native function bool EndBrush();
|
||||
native function int GetVertexCount();
|
||||
native function vector GetVertex( int i );
|
||||
native function int GetPolyCount();
|
||||
native function bool BadParameters( optional string msg );
|
||||
native function int Vertexv( vector v );
|
||||
native function int Vertex3f( float x, float y, float z );
|
||||
native function Poly3i( int Direction, int i, int j, int k, optional name ItemName, optional bool bIsTwoSidedNonSolid );
|
||||
native function Poly4i( int Direction, int i, int j, int k, int l, optional name ItemName, optional bool bIsTwoSidedNonSolid );
|
||||
native function PolyBegin( int Direction, optional name ItemName );
|
||||
native function Polyi( int i );
|
||||
native function PolyEnd();
|
||||
|
||||
// Build interface.
|
||||
event bool Build();
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
BitmapFilename="BBGeneric"
|
||||
ToolTip="BrushBuilderName_Generic"
|
||||
}
|
33
UnrealEd/Classes/CascadeConfiguration.uc
Normal file
33
UnrealEd/Classes/CascadeConfiguration.uc
Normal file
@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// CascadeConfiguration
|
||||
//
|
||||
// Settings for Cascade that users are not allowed to alter.
|
||||
//=============================================================================
|
||||
class CascadeConfiguration extends Object
|
||||
hidecategories(Object)
|
||||
config(Editor)
|
||||
native;
|
||||
|
||||
/** Module-to-TypeData mapping helper. */
|
||||
struct native ModuleMenuMapper
|
||||
{
|
||||
var string ObjName;
|
||||
var array<string> InvalidObjNames;
|
||||
};
|
||||
|
||||
/**
|
||||
* TypeData-to-base module mappings.
|
||||
* These will disallow complete 'sub-menus' depending on the TypeData utilized.
|
||||
*/
|
||||
var(Configure) config array<ModuleMenuMapper> ModuleMenu_TypeDataToBaseModuleRejections;
|
||||
/** Module-to-TypeData mappings. */
|
||||
var(Configure) config array<ModuleMenuMapper> ModuleMenu_TypeDataToSpecificModuleRejections;
|
||||
/** Modules that Cascade should ignore in the menu system. */
|
||||
var(Configure) config array<string> ModuleMenu_ModuleRejections;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
86
UnrealEd/Classes/CascadeOptions.uc
Normal file
86
UnrealEd/Classes/CascadeOptions.uc
Normal file
@ -0,0 +1,86 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// CascadeOptions
|
||||
//
|
||||
// A configuration class that holds information for the setup of Cascade.
|
||||
// Supplied so that the editor 'remembers' the last setup the user had.
|
||||
//=============================================================================
|
||||
class CascadeOptions extends Object
|
||||
hidecategories(Object)
|
||||
config(EditorUserSettings)
|
||||
native;
|
||||
|
||||
var(Options) config bool bShowModuleDump;
|
||||
var(Options) config color BackgroundColor;
|
||||
var(Options) config bool bUseSubMenus;
|
||||
var(Options) config bool bUseSpaceBarReset;
|
||||
var(Options) config bool bUseSpaceBarResetInLevel;
|
||||
var(Options) config color Empty_Background;
|
||||
var(Options) config color Emitter_Background;
|
||||
var(Options) config color Emitter_Unselected;
|
||||
var(Options) config color Emitter_Selected;
|
||||
var(Options) config color ModuleColor_General_Unselected;
|
||||
var(Options) config color ModuleColor_General_Selected;
|
||||
var(Options) config color ModuleColor_TypeData_Unselected;
|
||||
var(Options) config color ModuleColor_TypeData_Selected;
|
||||
var(Options) config color ModuleColor_Beam_Unselected;
|
||||
var(Options) config color ModuleColor_Beam_Selected;
|
||||
var(Options) config color ModuleColor_Trail_Unselected;
|
||||
var(Options) config color ModuleColor_Trail_Selected;
|
||||
var(Options) config color ModuleColor_Spawn_Unselected;
|
||||
var(Options) config color ModuleColor_Spawn_Selected;
|
||||
var(Options) config color ModuleColor_Required_Unselected;
|
||||
var(Options) config color ModuleColor_Required_Selected;
|
||||
var(Options) config color ModuleColor_Event_Unselected;
|
||||
var(Options) config color ModuleColor_Event_Selected;
|
||||
|
||||
var(Options) config bool bShowGrid;
|
||||
var(Options) config color GridColor_Hi;
|
||||
var(Options) config color GridColor_Low;
|
||||
var(Options) config float GridPerspectiveSize;
|
||||
|
||||
var(Options) config bool bShowParticleCounts;
|
||||
var(Options) config bool bShowParticleEvents;
|
||||
var(Options) config bool bShowParticleTimes;
|
||||
var(Options) config bool bShowParticleDistance;
|
||||
var(Options) config bool bShowParticleMemory;
|
||||
var(Options) config float ParticleMemoryUpdateTime;
|
||||
|
||||
var(Options) config bool bShowFloor;
|
||||
var(Options) config string FloorMesh;
|
||||
var(Options) config vector FloorPosition;
|
||||
var(Options) config rotator FloorRotation;
|
||||
var(Options) config float FloorScale;
|
||||
var(Options) config vector FloorScale3D;
|
||||
|
||||
var(Options) config string PostProcessChainName;
|
||||
|
||||
var(Options) config int ShowPPFlags;
|
||||
|
||||
/** If TRUE, use the 'slimline' module drawing method in cascade. */
|
||||
var(Options) config bool bUseSlimCascadeDraw;
|
||||
/** The height to use for the 'slimline' module drawing method in cascade. */
|
||||
var(Options) config int SlimCascadeDrawHeight;
|
||||
/** If TRUE, center the module name and buttons in the module box. */
|
||||
var(Options) config bool bCenterCascadeModuleText;
|
||||
/** The number of units the mouse must move before considering the module as dragged. */
|
||||
var(Options) config int Cascade_MouseMoveThreshold;
|
||||
|
||||
/**
|
||||
* TypeData-to-base module mappings.
|
||||
* These will disallow complete 'sub-menus' depending on the TypeData utilized.
|
||||
*/
|
||||
var deprecated config array<ModuleMenuMapper> ModuleMenu_TypeDataToBaseModuleRejections;
|
||||
/** Module-to-TypeData mappings. */
|
||||
var deprecated config array<ModuleMenuMapper> ModuleMenu_TypeDataToSpecificModuleRejections;
|
||||
/** Modules that Cascade should ignore in the menu system. */
|
||||
var deprecated config array<string> ModuleMenu_ModuleRejections;
|
||||
|
||||
/** The radius of the motion mode */
|
||||
var(Options) config float MotionModeRadius;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
22
UnrealEd/Classes/CascadeParticleSystemComponent.uc
Normal file
22
UnrealEd/Classes/CascadeParticleSystemComponent.uc
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
// Used to provide an extended PSysComponent to allow collision to function in the preview window.
|
||||
class CascadeParticleSystemComponent extends ParticleSystemComponent
|
||||
native(Cascade)
|
||||
hidecategories(Object)
|
||||
hidecategories(Physics)
|
||||
hidecategories(Collision)
|
||||
editinlinenew;
|
||||
|
||||
var native const pointer CascadePreviewViewportPtr{class FCascadePreviewViewportClient};
|
||||
|
||||
cpptext
|
||||
{
|
||||
// Collision Handling...
|
||||
virtual UBOOL SingleLineCheck(FCheckResult& Hit, AActor* SourceActor, const FVector& End, const FVector& Start, DWORD TraceFlags, const FVector& Extent);
|
||||
|
||||
protected:
|
||||
virtual void UpdateLODInformation();
|
||||
}
|
16
UnrealEd/Classes/CascadePreviewComponent.uc
Normal file
16
UnrealEd/Classes/CascadePreviewComponent.uc
Normal file
@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CascadePreviewComponent extends PrimitiveComponent
|
||||
native
|
||||
collapsecategories
|
||||
hidecategories(Object)
|
||||
editinlinenew;
|
||||
|
||||
var native transient const pointer CascadePtr{class WxCascade};
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Render(const FSceneView* View,FPrimitiveDrawInterface* PDI);
|
||||
}
|
||||
|
82
UnrealEd/Classes/ConeBuilder.uc
Normal file
82
UnrealEd/Classes/ConeBuilder.uc
Normal file
@ -0,0 +1,82 @@
|
||||
//=============================================================================
|
||||
// ConeBuilder: Builds a 3D cone brush, compatible with cylinder of same size.
|
||||
// Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
//=============================================================================
|
||||
class ConeBuilder
|
||||
extends BrushBuilder;
|
||||
|
||||
var() float Z <ClampMin=0.000001>;
|
||||
var() float CapZ;
|
||||
var() float OuterRadius <ClampMin=0.000001>;
|
||||
var() float InnerRadius;
|
||||
var() int Sides <ClampMin=3>;
|
||||
var() name GroupName;
|
||||
var() bool AlignToSide, Hollow;
|
||||
|
||||
function BuildCone( int Direction, bool InAlignToSide, int InSides, float InZ, float Radius, name Item )
|
||||
{
|
||||
local int n,i,Ofs;
|
||||
n = GetVertexCount();
|
||||
if( InAlignToSide )
|
||||
{
|
||||
Radius /= cos(pi/InSides);
|
||||
Ofs = 1;
|
||||
}
|
||||
|
||||
// Vertices.
|
||||
for( i=0; i<InSides; i++ )
|
||||
Vertex3f( Radius*sin((2*i+Ofs)*pi/InSides), Radius*cos((2*i+Ofs)*pi/InSides), 0 );
|
||||
Vertex3f( 0, 0, InZ );
|
||||
|
||||
// Polys.
|
||||
for( i=0; i<InSides; i++ )
|
||||
Poly3i( Direction, n+i, n+InSides, n+((i+1)%InSides), Item );
|
||||
}
|
||||
|
||||
event bool Build()
|
||||
{
|
||||
local int i;
|
||||
|
||||
if( Sides<3 )
|
||||
return BadParameters();
|
||||
if( Z<=0 || OuterRadius<=0 )
|
||||
return BadParameters();
|
||||
if( Hollow && (InnerRadius<=0 || InnerRadius>=OuterRadius) )
|
||||
return BadParameters();
|
||||
if( Hollow && CapZ>Z )
|
||||
return BadParameters();
|
||||
if( Hollow && (CapZ==Z && InnerRadius==OuterRadius) )
|
||||
return BadParameters();
|
||||
|
||||
BeginBrush( false, GroupName );
|
||||
BuildCone( +1, AlignToSide, Sides, Z, OuterRadius, 'Top' );
|
||||
if( Hollow )
|
||||
{
|
||||
BuildCone( -1, AlignToSide, Sides, CapZ, InnerRadius, 'Cap' );
|
||||
if( OuterRadius!=InnerRadius )
|
||||
for( i=0; i<Sides; i++ )
|
||||
Poly4i( 1, i, ((i+1)%Sides), Sides+1+((i+1)%Sides), Sides+1+i, 'Bottom' );
|
||||
}
|
||||
else
|
||||
{
|
||||
PolyBegin( 1, 'Bottom' );
|
||||
for( i=0; i<Sides; i++ )
|
||||
Polyi( i );
|
||||
PolyEnd();
|
||||
}
|
||||
return EndBrush();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Z=256
|
||||
CapZ=256
|
||||
OuterRadius=512
|
||||
InnerRadius=384
|
||||
Sides=8
|
||||
GroupName=Cone
|
||||
AlignToSide=true
|
||||
Hollow=false
|
||||
BitmapFilename="Btn_Cone"
|
||||
ToolTip="BrushBuilderName_Cone"
|
||||
}
|
16
UnrealEd/Classes/ConvertMapToNavMesh.uc
Normal file
16
UnrealEd/Classes/ConvertMapToNavMesh.uc
Normal file
@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class ConvertMapToNavMesh extends Commandlet
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual INT Main(const FString& Params);
|
||||
}
|
||||
|
||||
event int Main(string Params);
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
86
UnrealEd/Classes/CubeBuilder.uc
Normal file
86
UnrealEd/Classes/CubeBuilder.uc
Normal file
@ -0,0 +1,86 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// CubeBuilder: Builds a 3D cube brush.
|
||||
//=============================================================================
|
||||
class CubeBuilder
|
||||
extends BrushBuilder
|
||||
native;
|
||||
|
||||
var() float X <ClampMin=0.000001>;
|
||||
var() float Y <ClampMin=0.000001>;
|
||||
var() float Z <ClampMin=0.000001>;
|
||||
var() float WallThickness;
|
||||
var() name GroupName;
|
||||
var() bool Hollow;
|
||||
var() bool Tessellated;
|
||||
|
||||
function BuildCube( int Direction, float dx, float dy, float dz, bool _tessellated )
|
||||
{
|
||||
local int n,i,j,k;
|
||||
n = GetVertexCount();
|
||||
|
||||
for( i=-1; i<2; i+=2 )
|
||||
for( j=-1; j<2; j+=2 )
|
||||
for( k=-1; k<2; k+=2 )
|
||||
Vertex3f( i*dx/2, j*dy/2, k*dz/2 );
|
||||
|
||||
// If the user wants a Tessellated cube, create the sides out of tris instead of quads.
|
||||
if( _tessellated )
|
||||
{
|
||||
Poly3i(Direction,n+0,n+1,n+3);
|
||||
Poly3i(Direction,n+0,n+3,n+2);
|
||||
Poly3i(Direction,n+2,n+3,n+7);
|
||||
Poly3i(Direction,n+2,n+7,n+6);
|
||||
Poly3i(Direction,n+6,n+7,n+5);
|
||||
Poly3i(Direction,n+6,n+5,n+4);
|
||||
Poly3i(Direction,n+4,n+5,n+1);
|
||||
Poly3i(Direction,n+4,n+1,n+0);
|
||||
Poly3i(Direction,n+3,n+1,n+5);
|
||||
Poly3i(Direction,n+3,n+5,n+7);
|
||||
Poly3i(Direction,n+0,n+2,n+6);
|
||||
Poly3i(Direction,n+0,n+6,n+4);
|
||||
}
|
||||
else
|
||||
{
|
||||
Poly4i(Direction,n+0,n+1,n+3,n+2);
|
||||
Poly4i(Direction,n+2,n+3,n+7,n+6);
|
||||
Poly4i(Direction,n+6,n+7,n+5,n+4);
|
||||
Poly4i(Direction,n+4,n+5,n+1,n+0);
|
||||
Poly4i(Direction,n+3,n+1,n+5,n+7);
|
||||
Poly4i(Direction,n+0,n+2,n+6,n+4);
|
||||
}
|
||||
}
|
||||
|
||||
event bool Build()
|
||||
{
|
||||
if( Z<=0 || Y<=0 || X<=0 )
|
||||
return BadParameters();
|
||||
if( Hollow && ((Z/2.0)<=WallThickness || (Y/2.0)<=WallThickness || (X/2.0)<=WallThickness) )
|
||||
return BadParameters();
|
||||
if( Hollow && Tessellated )
|
||||
return BadParameters("The 'Tessellated' option can't be specified with the 'Hollow' option.");
|
||||
|
||||
BeginBrush( false, GroupName );
|
||||
BuildCube( +1, X, Y, Z, Tessellated );
|
||||
if( Hollow )
|
||||
BuildCube( -1, X-WallThickness*2.0, Y-WallThickness*2.0, Z-WallThickness*2.0, Tessellated );
|
||||
return EndBrush();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
X=256
|
||||
Y=256
|
||||
Z=256
|
||||
WallThickness=16
|
||||
GroupName=Cube
|
||||
Hollow=false
|
||||
Tessellated=false
|
||||
BitmapFilename="Btn_Box"
|
||||
ToolTip="BrushBuilderName_Cube"
|
||||
}
|
27
UnrealEd/Classes/CurveEdOptions.uc
Normal file
27
UnrealEd/Classes/CurveEdOptions.uc
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// CurveEdOptions
|
||||
//
|
||||
// A configuration class that holds information for the setup of the CurveEd.
|
||||
// Supplied so that the editor 'remembers' the last setup the user had.
|
||||
//=============================================================================
|
||||
class CurveEdOptions extends Object
|
||||
hidecategories(Object)
|
||||
config(EditorUserSettings)
|
||||
native;
|
||||
|
||||
var(Options) config float MinViewRange;
|
||||
var(Options) config float MaxViewRange;
|
||||
var(Options) config linearcolor BackgroundColor;
|
||||
var(Options) config linearcolor LabelColor;
|
||||
var(Options) config linearcolor SelectedLabelColor;
|
||||
var(Options) config linearcolor GridColor;
|
||||
var(Options) config linearcolor GridTextColor;
|
||||
var(Options) config linearcolor LabelBlockBkgColor;
|
||||
var(Options) config linearcolor SelectedKeyColor;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
72
UnrealEd/Classes/CurveEdPresetBase.uc
Normal file
72
UnrealEd/Classes/CurveEdPresetBase.uc
Normal file
@ -0,0 +1,72 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPresetBase extends Object
|
||||
abstract
|
||||
native;
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "*** ERROR ***";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** Virtual function to verify the settings are valid */
|
||||
function bool AreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Virtual function to get the required KeyIn times*/
|
||||
function bool GetRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Virtual function to generate curve */
|
||||
function bool GenerateCurve(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Event to allow C++ to call GetDisplayName */
|
||||
event FetchDisplayName(out string OutName)
|
||||
{
|
||||
OutName = GetDisplayName();
|
||||
}
|
||||
|
||||
/** */
|
||||
event bool CheckAreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
return AreSettingsValid(bIsSaving);
|
||||
}
|
||||
|
||||
/** */
|
||||
event bool FetchRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
return GetRequiredKeyInTimes(RequiredKeyInTimes);
|
||||
}
|
||||
|
||||
/** Event to allow C++ to call GenerateCurve */
|
||||
event bool GenerateCurveData(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
return GenerateCurve(RequiredKeyInTimes, GeneratedPoints);
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
}
|
127
UnrealEd/Classes/CurveEdPreset_CosWave.uc
Normal file
127
UnrealEd/Classes/CurveEdPreset_CosWave.uc
Normal file
@ -0,0 +1,127 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPreset_CosWave extends CurveEdPresetBase
|
||||
native
|
||||
editinlinenew
|
||||
hidecategories(Object);
|
||||
|
||||
/** The frequency of the wave */
|
||||
var() float Frequency;
|
||||
/** The scale of the wave */
|
||||
var() float Scale;
|
||||
/** The offset of the wave */
|
||||
var() float Offset;
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "CosWave";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** Virtual function to verify the settings are valid */
|
||||
function bool AreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
if ((Frequency <= 0.0) || (Scale == 0.0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Virtual function to get the required KeyIn times*/
|
||||
function bool GetRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointIndex;
|
||||
local float StepSize;
|
||||
local float Freq;
|
||||
local float SourceValue;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
GenerateCount = 0;
|
||||
if (Frequency == 0)
|
||||
{
|
||||
Freq = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Freq = Frequency;
|
||||
}
|
||||
|
||||
GenerateCount = (2 * Freq) + 1;
|
||||
|
||||
RequiredKeyInTimes.Insert(0, GenerateCount);
|
||||
|
||||
StepSize = 1.0f / (GenerateCount - 1);
|
||||
SourceValue = 0.0f;
|
||||
for (PointIndex = 0; PointIndex < GenerateCount; PointIndex++)
|
||||
{
|
||||
RequiredKeyInTimes[PointIndex] = SourceValue;
|
||||
SourceValue += StepSize;
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Virtual function to generate curve */
|
||||
function bool GenerateCurve(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointIndex;
|
||||
local float Freq;
|
||||
local float SourceValue;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
if (Frequency == 0)
|
||||
{
|
||||
Freq = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Freq = Frequency;
|
||||
}
|
||||
|
||||
GenerateCount = RequiredKeyInTimes.Length;
|
||||
GeneratedPoints.Insert(0, GenerateCount);
|
||||
|
||||
/***
|
||||
`Log("Generated Data for " $ GetDisplayName());
|
||||
***/
|
||||
for (PointIndex = 0; PointIndex < GenerateCount; PointIndex++)
|
||||
{
|
||||
SourceValue = RequiredKeyInTimes[PointIndex];
|
||||
GeneratedPoints[PointIndex].KeyIn = SourceValue;
|
||||
GeneratedPoints[PointIndex].KeyOut = cos(360.0 * DegToRad * Freq * SourceValue) * Scale + Offset;
|
||||
GeneratedPoints[PointIndex].TangentsValid = false;
|
||||
GeneratedPoints[PointIndex].IntepMode = CIM_CurveAuto;
|
||||
|
||||
/***
|
||||
`Log(" Key " $ PointIndex $ " - " $ SourceValue $ " - " $ GeneratedPoints[PointIndex].KeyOut);
|
||||
***/
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
Frequency=1.0
|
||||
Scale=1.0
|
||||
Offset=0.0
|
||||
}
|
141
UnrealEd/Classes/CurveEdPreset_LinearDecay.uc
Normal file
141
UnrealEd/Classes/CurveEdPreset_LinearDecay.uc
Normal file
@ -0,0 +1,141 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPreset_LinearDecay extends CurveEdPresetBase
|
||||
native
|
||||
editinlinenew
|
||||
hidecategories(Object);
|
||||
|
||||
var() float StartDecay;
|
||||
var() float StartValue;
|
||||
var() float EndDecay;
|
||||
var() float EndValue;
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "LinearDecay";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** Virtual function to verify the settings are valid */
|
||||
function bool AreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
if (StartDecay >= EndDecay)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Virtual function to get the required KeyIn times*/
|
||||
function bool GetRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointCount;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
GenerateCount = 2;
|
||||
if (StartDecay > 0.0)
|
||||
{
|
||||
GenerateCount += 1;
|
||||
}
|
||||
|
||||
if (EndDecay < 1.0)
|
||||
{
|
||||
GenerateCount += 1;
|
||||
}
|
||||
|
||||
RequiredKeyInTimes.Insert(0, GenerateCount);
|
||||
|
||||
RequiredKeyInTimes[PointCount] = 0.0;
|
||||
PointCount++;
|
||||
|
||||
if (StartDecay != 0.0)
|
||||
{
|
||||
RequiredKeyInTimes[PointCount] = StartDecay;
|
||||
PointCount++;
|
||||
}
|
||||
|
||||
RequiredKeyInTimes[PointCount] = EndDecay;
|
||||
PointCount++;
|
||||
|
||||
if (EndDecay < 1.0)
|
||||
{
|
||||
RequiredKeyInTimes[PointCount] = 1.0;
|
||||
PointCount++;
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Virtual function to generate curve */
|
||||
function bool GenerateCurve(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointCount;
|
||||
local float CurrentKeyIn;
|
||||
local float Difference;
|
||||
local float Alpha;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
GenerateCount = RequiredKeyInTimes.Length;
|
||||
GeneratedPoints.Insert(0, GenerateCount);
|
||||
|
||||
Difference = EndDecay - StartDecay;
|
||||
|
||||
/***
|
||||
`Log("Generated Data for " $ GetDisplayName());
|
||||
***/
|
||||
|
||||
for (PointCount = 0; PointCount < RequiredKeyInTimes.Length; PointCount++)
|
||||
{
|
||||
CurrentKeyIn = RequiredKeyInTimes[PointCount];
|
||||
|
||||
GeneratedPoints[PointCount].KeyIn = CurrentKeyIn;
|
||||
GeneratedPoints[PointCount].TangentsValid = false;
|
||||
GeneratedPoints[PointCount].IntepMode = CIM_CurveAuto;
|
||||
|
||||
if (CurrentKeyIn < StartDecay)
|
||||
{
|
||||
GeneratedPoints[PointCount].KeyOut = StartValue;
|
||||
}
|
||||
else
|
||||
if (CurrentKeyIn > EndDecay)
|
||||
{
|
||||
GeneratedPoints[PointCount].KeyOut = EndValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
Alpha = (CurrentKeyIn - StartDecay) / Difference;
|
||||
GeneratedPoints[PointCount].KeyOut = Lerp(StartValue, EndValue, Alpha);
|
||||
}
|
||||
/***
|
||||
`Log(" Key " $ PointCount $ " - " $ CurrentKeyIn $ " - " $ GeneratedPoints[PointCount].KeyOut);
|
||||
***/
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
StartDecay=0.0
|
||||
StartValue=1.0
|
||||
EndDecay=1.0
|
||||
EndValue=0.0
|
||||
}
|
27
UnrealEd/Classes/CurveEdPreset_Nothing.uc
Normal file
27
UnrealEd/Classes/CurveEdPreset_Nothing.uc
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPreset_Nothing extends CurveEdPresetBase
|
||||
native
|
||||
editinlinenew
|
||||
hidecategories(Object);
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "Do not preset";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
}
|
127
UnrealEd/Classes/CurveEdPreset_SineWave.uc
Normal file
127
UnrealEd/Classes/CurveEdPreset_SineWave.uc
Normal file
@ -0,0 +1,127 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPreset_SineWave extends CurveEdPresetBase
|
||||
native
|
||||
editinlinenew
|
||||
hidecategories(Object);
|
||||
|
||||
/** The frequency of the wave */
|
||||
var() float Frequency;
|
||||
/** The scale of the wave */
|
||||
var() float Scale;
|
||||
/** The offset of the wave */
|
||||
var() float Offset;
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "SineWave";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** Virtual function to verify the settings are valid */
|
||||
function bool AreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
if ((Frequency <= 0.0) || (Scale == 0.0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Virtual function to get the required KeyIn times*/
|
||||
function bool GetRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointIndex;
|
||||
local float StepSize;
|
||||
local float Freq;
|
||||
local float SourceValue;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
GenerateCount = 0;
|
||||
if (Frequency == 0)
|
||||
{
|
||||
Freq = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Freq = Frequency;
|
||||
}
|
||||
|
||||
GenerateCount = (4 * Freq) + 1;
|
||||
|
||||
RequiredKeyInTimes.Insert(0, GenerateCount);
|
||||
|
||||
StepSize = 1.0f / (GenerateCount - 1);
|
||||
SourceValue = 0.0f;
|
||||
for (PointIndex = 0; PointIndex < GenerateCount; PointIndex++)
|
||||
{
|
||||
RequiredKeyInTimes[PointIndex] = SourceValue;
|
||||
SourceValue += StepSize;
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Virtual function to generate curve */
|
||||
function bool GenerateCurve(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointIndex;
|
||||
local float Freq;
|
||||
local float SourceValue;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
if (Frequency == 0)
|
||||
{
|
||||
Freq = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Freq = Frequency;
|
||||
}
|
||||
|
||||
GenerateCount = RequiredKeyInTimes.Length;
|
||||
GeneratedPoints.Insert(0, GenerateCount);
|
||||
|
||||
/***
|
||||
`Log("Generated Data for " $ GetDisplayName());
|
||||
***/
|
||||
for (PointIndex = 0; PointIndex < GenerateCount; PointIndex++)
|
||||
{
|
||||
SourceValue = RequiredKeyInTimes[PointIndex];
|
||||
GeneratedPoints[PointIndex].KeyIn = SourceValue;
|
||||
GeneratedPoints[PointIndex].KeyOut = sin(360.0 * DegToRad * Freq * SourceValue) * Scale + Offset;
|
||||
GeneratedPoints[PointIndex].TangentsValid = false;
|
||||
GeneratedPoints[PointIndex].IntepMode = CIM_CurveAuto;
|
||||
|
||||
/***
|
||||
`Log(" Key " $ PointIndex $ " - " $ SourceValue $ " - " $ GeneratedPoints[PointIndex].KeyOut);
|
||||
***/
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
Frequency=1.0
|
||||
Scale=1.0
|
||||
Offset=0.0
|
||||
}
|
145
UnrealEd/Classes/CurveEdPreset_UserSet.uc
Normal file
145
UnrealEd/Classes/CurveEdPreset_UserSet.uc
Normal file
@ -0,0 +1,145 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CurveEdPreset_UserSet extends CurveEdPresetBase
|
||||
native
|
||||
editinlinenew
|
||||
hidecategories(Object);
|
||||
|
||||
var() CurveEdPresetCurve UserCurve;
|
||||
|
||||
/** Virtual function to get the user-readable name for the curve */
|
||||
function string GetDisplayName()
|
||||
{
|
||||
local string RetVal;
|
||||
|
||||
RetVal = "User-Set";
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
/** Virtual function to verify the settings are valid */
|
||||
function bool AreSettingsValid(bool bIsSaving)
|
||||
{
|
||||
if (bIsSaving)
|
||||
{
|
||||
if (UserCurve == None)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (UserCurve == None)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Virtual function to get the required KeyIn times*/
|
||||
function bool GetRequiredKeyInTimes(out array<float> RequiredKeyInTimes)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointCount;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
if (UserCurve != None)
|
||||
{
|
||||
GenerateCount = UserCurve.Points.Length;
|
||||
|
||||
if (GenerateCount > 0)
|
||||
{
|
||||
RequiredKeyInTimes.Insert(0, GenerateCount);
|
||||
|
||||
for (PointCount = 0; PointCount < GenerateCount; PointCount++)
|
||||
{
|
||||
RequiredKeyInTimes[PointCount] = UserCurve.Points[PointCount].KeyIn;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bRetval = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bRetval = false;
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Virtual function to generate curve */
|
||||
function bool GenerateCurve(out array<float> RequiredKeyInTimes, out array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
local int GenerateCount;
|
||||
local int PointCount;
|
||||
local float CurrentKeyIn;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
GenerateCount = RequiredKeyInTimes.Length;
|
||||
GeneratedPoints.Insert(0, GenerateCount);
|
||||
|
||||
for (PointCount = 0; PointCount < RequiredKeyInTimes.Length; PointCount++)
|
||||
{
|
||||
CurrentKeyIn = RequiredKeyInTimes[PointCount];
|
||||
|
||||
GeneratedPoints[PointCount].KeyIn = CurrentKeyIn;
|
||||
GeneratedPoints[PointCount].TangentsValid = false;
|
||||
GeneratedPoints[PointCount].IntepMode = CIM_CurveAuto;
|
||||
GeneratedPoints[PointCount].KeyOut = UserCurve.Points[PointCount].KeyOut;
|
||||
GeneratedPoints[PointCount].TangentIn = UserCurve.Points[PointCount].TangentIn;
|
||||
GeneratedPoints[PointCount].TangentOut = UserCurve.Points[PointCount].TangentOut;
|
||||
|
||||
`Log(" Key " $ PointCount $ " - " $ CurrentKeyIn $ " - " $ GeneratedPoints[PointCount].KeyOut);
|
||||
}
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** Fill-in from a set curve */
|
||||
function bool SetCurve(array<PresetGeneratedPoint> GeneratedPoints)
|
||||
{
|
||||
local bool bRetval;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
function bool LoadUserSetPointFile()
|
||||
{
|
||||
local bool bRetval;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
function bool SaveUserSetPointFile()
|
||||
{
|
||||
local bool bRetval;
|
||||
|
||||
bRetval = true;
|
||||
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
/** */
|
||||
cpptext
|
||||
{
|
||||
}
|
||||
|
||||
/** */
|
||||
defaultproperties
|
||||
{
|
||||
}
|
127
UnrealEd/Classes/CurvedStairBuilder.uc
Normal file
127
UnrealEd/Classes/CurvedStairBuilder.uc
Normal file
@ -0,0 +1,127 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// CurvedStairBuilder: Builds a curved staircase.
|
||||
//=============================================================================
|
||||
class CurvedStairBuilder
|
||||
extends BrushBuilder;
|
||||
|
||||
var() int InnerRadius <ClampMin=1>;
|
||||
var() int StepHeight;
|
||||
var() int StepWidth <ClampMin=1>;
|
||||
var() int AngleOfCurve <ClampMin=1 | ClampMax=360>;
|
||||
var() int NumSteps <ClampMin=1>;
|
||||
var() int AddToFirstStep;
|
||||
var() name GroupName;
|
||||
var() bool CounterClockwise;
|
||||
|
||||
function BuildCurvedStair( int Direction )
|
||||
{
|
||||
local rotator RotStep;
|
||||
local vector vtx, NewVtx;
|
||||
local int x, InnerStart, OuterStart, BottomInnerStart, BottomOuterStart, Adjustment;
|
||||
|
||||
RotStep.Yaw = (65536.0f * (AngleOfCurve / 360.0f)) / NumSteps;
|
||||
|
||||
if( CounterClockwise )
|
||||
{
|
||||
RotStep.Yaw *= -1;
|
||||
Direction *= -1;
|
||||
}
|
||||
|
||||
// Generate the inner curve points.
|
||||
InnerStart = GetVertexCount();
|
||||
vtx.x = InnerRadius;
|
||||
for( x = 0 ; x < (NumSteps + 1) ; x++ )
|
||||
{
|
||||
if( x == 0 )
|
||||
Adjustment = AddToFirstStep;
|
||||
else
|
||||
Adjustment = 0;
|
||||
|
||||
NewVtx = vtx >> (RotStep * x);
|
||||
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z - Adjustment );
|
||||
vtx.z += StepHeight;
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z );
|
||||
}
|
||||
|
||||
// Generate the outer curve points.
|
||||
OuterStart = GetVertexCount();
|
||||
vtx.x = InnerRadius + StepWidth;
|
||||
vtx.z = 0;
|
||||
for( x = 0 ; x < (NumSteps + 1) ; x++ )
|
||||
{
|
||||
if( x == 0 )
|
||||
Adjustment = AddToFirstStep;
|
||||
else
|
||||
Adjustment = 0;
|
||||
|
||||
NewVtx = vtx >> (RotStep * x);
|
||||
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z - Adjustment );
|
||||
vtx.z += StepHeight;
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z );
|
||||
}
|
||||
|
||||
// Generate the bottom inner curve points.
|
||||
BottomInnerStart = GetVertexCount();
|
||||
vtx.x = InnerRadius;
|
||||
vtx.z = 0;
|
||||
for( x = 0 ; x < (NumSteps + 1) ; x++ )
|
||||
{
|
||||
NewVtx = vtx >> (RotStep * x);
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z - AddToFirstStep );
|
||||
}
|
||||
|
||||
// Generate the bottom outer curve points.
|
||||
BottomOuterStart = GetVertexCount();
|
||||
vtx.x = InnerRadius + StepWidth;
|
||||
for( x = 0 ; x < (NumSteps + 1) ; x++ )
|
||||
{
|
||||
NewVtx = vtx >> (RotStep * x);
|
||||
Vertex3f( NewVtx.x, NewVtx.y, vtx.z - AddToFirstStep );
|
||||
}
|
||||
|
||||
for( x = 0 ; x < NumSteps ; x++ )
|
||||
{
|
||||
Poly4i( Direction, InnerStart + (x * 2) + 2, InnerStart + (x * 2) + 1, OuterStart + (x * 2) + 1, OuterStart + (x * 2) + 2, 'steptop' );
|
||||
Poly4i( Direction, InnerStart + (x * 2) + 1, InnerStart + (x * 2), OuterStart + (x * 2), OuterStart + (x * 2) + 1, 'stepfront' );
|
||||
Poly4i( Direction, BottomInnerStart + x, InnerStart + (x * 2) + 1, InnerStart + (x * 2) + 2, BottomInnerStart + x + 1, 'innercurve' );
|
||||
Poly4i( Direction, OuterStart + (x * 2) + 1, BottomOuterStart + x, BottomOuterStart + x + 1, OuterStart + (x * 2) + 2, 'outercurve' );
|
||||
Poly4i( Direction, BottomInnerStart + x, BottomInnerStart + x + 1, BottomOuterStart + x + 1, BottomOuterStart + x, 'Bottom' );
|
||||
}
|
||||
|
||||
// Back panel.
|
||||
Poly4i( Direction, BottomInnerStart + NumSteps, InnerStart + (NumSteps * 2), OuterStart + (NumSteps * 2), BottomOuterStart + NumSteps, 'back' );
|
||||
}
|
||||
|
||||
event bool Build()
|
||||
{
|
||||
if( AngleOfCurve<1 || AngleOfCurve>360 )
|
||||
return BadParameters("Angle is out of range.");
|
||||
if( InnerRadius<1 || StepWidth<1 || NumSteps<1 )
|
||||
return BadParameters();
|
||||
|
||||
BeginBrush( false, GroupName );
|
||||
BuildCurvedStair( +1 );
|
||||
return EndBrush();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
InnerRadius=240
|
||||
StepHeight=16
|
||||
StepWidth=256
|
||||
AngleOfCurve=90
|
||||
NumSteps=4
|
||||
GroupName="CStair"
|
||||
CounterClockwise=0
|
||||
AddToFirstStep=0
|
||||
BitmapFilename="Btn_CurvedStairs"
|
||||
ToolTip="BrushBuilderName_CurvedStair"
|
||||
}
|
233
UnrealEd/Classes/CustomPropertyItemBindings.uc
Normal file
233
UnrealEd/Classes/CustomPropertyItemBindings.uc
Normal file
@ -0,0 +1,233 @@
|
||||
/**
|
||||
* This class is responsible for tracking custom property item draw and input proxies. It allows specifying a custom
|
||||
* draw or input proxy for a particular property, or for a particular property type. This class is a singleton; to access
|
||||
* the values stored in this class, use UCustomPropertyItemBindings::StaticClass()->GetDefaultObject<UCustomPropertyItemBinding>();
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class CustomPropertyItemBindings extends Object
|
||||
native(Private)
|
||||
config(Editor);
|
||||
|
||||
|
||||
/**
|
||||
* This struct is used for specifying custom draw or input proxies for a specific property.
|
||||
*/
|
||||
struct native PropertyItemCustomProxy
|
||||
{
|
||||
/**
|
||||
* The complete pathname for the property that this custom proxy should be applied to. When the property window
|
||||
* encounters a property with this path name, it will use the PropertyItemClassName to represent that property instead
|
||||
* of the default property item class.
|
||||
*/
|
||||
var() config string PropertyPathName;
|
||||
|
||||
/**
|
||||
* The complete path name for the class to use in the property item window for the associated property.
|
||||
*/
|
||||
var() config string PropertyItemClassName;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property item proxy is an array property. Indicates that this
|
||||
* this custom property item proxy should be used when creating the item which corresponds to the array header item, rather than the
|
||||
* normal array header item.
|
||||
*/
|
||||
var() config bool bReplaceArrayHeaders;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property item proxy control is an array property. Indicates that this
|
||||
* custom property item proxy should not be used for individual array elements.
|
||||
*/
|
||||
var() config bool bIgnoreArrayElements;
|
||||
|
||||
/**
|
||||
* The custom property item class specified by PropertyItemClassName. This value is filled in the first time this
|
||||
* PropertyItemCustomProxy's custom property item class is requested.
|
||||
*/
|
||||
var transient class PropertyItemClass;
|
||||
};
|
||||
|
||||
/**
|
||||
* This struct is used for specifying custom draw or input proxies for a specific property type.
|
||||
*/
|
||||
struct native PropertyTypeCustomProxy
|
||||
{
|
||||
/**
|
||||
* The name of the property that this custom proxy applies to (e.g. ObjectProperty, ComponentProperty, etc.).
|
||||
*/
|
||||
var() config name PropertyName;
|
||||
|
||||
/**
|
||||
* The complete path name for the object class that this custom proxy should be used for (e.g. Engine.UITexture)
|
||||
*/
|
||||
var() config string PropertyObjectClassPathName;
|
||||
|
||||
/**
|
||||
* The complete path name for the class to use in the property item window for the associated property.
|
||||
*/
|
||||
var() config string PropertyItemClassName;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property item proxy is an array property. Indicates that this
|
||||
* this custom property item proxy should be used when creating the item which corresponds to the array header item, rather than the
|
||||
* normal array header item.
|
||||
*/
|
||||
var() config bool bReplaceArrayHeaders;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property item proxy control is an array property. Indicates that this
|
||||
* custom property item proxy should not be used for individual array elements.
|
||||
*/
|
||||
var() config bool bIgnoreArrayElements;
|
||||
|
||||
/**
|
||||
* The custom property item class specified by PropertyItemClassName. This value is filled in the first time this
|
||||
* PropertyTypeCustomProxy's custom property item class is requested.
|
||||
*/
|
||||
var transient class PropertyItemClass;
|
||||
};
|
||||
|
||||
/**
|
||||
* This struct is used for specifying custom property window item classes for a specific property or unrealscript struct.
|
||||
*/
|
||||
struct native PropertyItemCustomClass
|
||||
{
|
||||
/**
|
||||
* The complete pathname for the property/script-struct that this property binding should be applied to. When the property window
|
||||
* encounters a property that has this path name, it will use the PropertyItemClassName to represent that property instead
|
||||
* of the default property item class.
|
||||
*
|
||||
* If PropertyPathName corresponds to a script struct, the custom property item class will be used for all struct properties for that struct.
|
||||
*/
|
||||
var() config string PropertyPathName;
|
||||
|
||||
/**
|
||||
* The name of the WxItemPropertyControl subclass to use in the property item window for the associated property.
|
||||
*/
|
||||
var() config string PropertyItemClassName;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property editing control is an array property. Indicates that this
|
||||
* this custom property item control should be used when creating the item which corresponds to the array header item, rather than the
|
||||
* normal array header item.
|
||||
*/
|
||||
var() config bool bReplaceArrayHeaders;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property editing control is an array property. Indicates that this
|
||||
* custom property item control should not be used for individual array elements.
|
||||
*/
|
||||
var() config bool bIgnoreArrayElements;
|
||||
|
||||
/**
|
||||
* A pointer to the WxItemPropertyControl class corresponding to PropertyItemClassName. This value is filled the first
|
||||
* time this PropertyItemCustomClass's custom property item class is requested.
|
||||
*/
|
||||
var transient native pointer WxPropertyItemClass{class wxClassInfo};
|
||||
};
|
||||
|
||||
/**
|
||||
* This struct is used for specifying custom property window item classes for a specific property type.
|
||||
*/
|
||||
struct native PropertyTypeCustomClass
|
||||
{
|
||||
/**
|
||||
* The name of the property that this custom item class applies to (e.g. ObjectProperty, ComponentProperty, etc.).
|
||||
*/
|
||||
var() config name PropertyName;
|
||||
|
||||
/**
|
||||
* The complete path name for the object class that this custom item class should be used for (e.g. Engine.UITexture)
|
||||
*/
|
||||
var() config string PropertyObjectClassPathName;
|
||||
|
||||
/**
|
||||
* The name of the WxItemPropertyControl subclass to use in the property item window for the associated property.
|
||||
*/
|
||||
var() config string PropertyItemClassName;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property editing control is an array property. Indicates that this
|
||||
* this custom property item control should be used when creating the item which corresponds to the array header item, rather than the
|
||||
* normal array header item.
|
||||
*/
|
||||
var() config bool bReplaceArrayHeaders;
|
||||
|
||||
/**
|
||||
* Only relevant when the property associated with this custom property editing control is an array property. Indicates that this
|
||||
* custom property item control should not be used for individual array elements.
|
||||
*/
|
||||
var() config bool bIgnoreArrayElements;
|
||||
|
||||
/**
|
||||
* A pointer to the WxItemPropertyControl class corresponding to PropertyItemClassName. This value is filled the first
|
||||
* time this PropertyTypeCustomClass's custom property item class is requested.
|
||||
*/
|
||||
var transient native pointer WxPropertyItemClass{class wxClassInfo};
|
||||
};
|
||||
|
||||
/** custom property item classes, for specific properties */
|
||||
var() config array<PropertyItemCustomClass> CustomPropertyClasses;
|
||||
/** custom property item classes, per property type */
|
||||
var() config array<PropertyTypeCustomClass> CustomPropertyTypeClasses;
|
||||
|
||||
/** custom draw proxy classes, for specific properties */
|
||||
var() config array<PropertyItemCustomProxy> CustomPropertyDrawProxies;
|
||||
/** custom draw proxy classes, per property type */
|
||||
var() config array<PropertyItemCustomProxy> CustomPropertyInputProxies;
|
||||
|
||||
/** custom input proxy classes, for specific properties */
|
||||
var() config array<PropertyTypeCustomProxy> CustomPropertyTypeDrawProxies;
|
||||
/** custom input proxy classes, per property type */
|
||||
var() config array<PropertyTypeCustomProxy> CustomPropertyTypeInputProxies;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Returns the custom draw proxy class that should be used for the property associated with
|
||||
* the WxPropertyControl specified.
|
||||
*
|
||||
* @param ProxyOwnerItem the property window item that will be using this draw proxy
|
||||
* @param ArrayIndex specifies which element of an array property that this property window will represent. Only valid
|
||||
* when creating property window items for individual elements of an array.
|
||||
*
|
||||
* @return a pointer to a child of UPropertyDrawProxy that should be used as the draw proxy
|
||||
* for the specified property, or NULL if there is no custom draw proxy configured for
|
||||
* the property.
|
||||
*/
|
||||
class UClass* GetCustomDrawProxy( const class WxPropertyControl* ProxyOwnerItem, INT ArrayIndex=INDEX_NONE );
|
||||
|
||||
/**
|
||||
* Returns the custom input proxy class that should be used for the property associated with
|
||||
* the WxPropertyControl specified.
|
||||
*
|
||||
* @param ProxyOwnerItem the property window item that will be using this input proxy
|
||||
* @param ArrayIndex specifies which element of an array property that this property window will represent. Only valid
|
||||
* when creating property window items for individual elements of an array.
|
||||
*
|
||||
* @return a pointer to a child of UPropertyInputProxy that should be used as the input proxy
|
||||
* for the specified property, or NULL if there is no custom input proxy configured for
|
||||
* the property.
|
||||
*/
|
||||
class UClass* GetCustomInputProxy( const class WxPropertyControl* ProxyOwnerItem, INT ArrayIndex=INDEX_NONE );
|
||||
|
||||
/**
|
||||
* Returns an instance of a custom property item class that should be used for the property specified.
|
||||
*
|
||||
* @param InProperty the property that will use the custom property item
|
||||
* @param ArrayIndex specifies which element of an array property that this property window will represent. Only valid
|
||||
* when creating property window items for individual elements of an array.
|
||||
* @param ParentItem specified the property window item that will contain this new property window item. Only
|
||||
* valid when creating property window items for individual array elements or struct member properties
|
||||
*
|
||||
* @return a pointer to a child of WxItemPropertyControl that should be used as the property
|
||||
* item for the specified property, or NULL if there is no custom property item configured
|
||||
* for the property.
|
||||
*/
|
||||
class WxItemPropertyControl* GetCustomPropertyWindow( class UProperty* InProperty, INT ArrayIndex=INDEX_NONE);
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
|
||||
}
|
84
UnrealEd/Classes/CylinderBuilder.uc
Normal file
84
UnrealEd/Classes/CylinderBuilder.uc
Normal file
@ -0,0 +1,84 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// CylinderBuilder: Builds a 3D cylinder brush.
|
||||
//=============================================================================
|
||||
class CylinderBuilder
|
||||
extends BrushBuilder;
|
||||
|
||||
var() float Z <ClampMin=0.000001>;
|
||||
var() float OuterRadius <ClampMin=0.000001>;
|
||||
var() float InnerRadius;
|
||||
var() int Sides <ClampMin=3>;
|
||||
var() name GroupName;
|
||||
var() bool AlignToSide, Hollow;
|
||||
|
||||
function BuildCylinder( int Direction, bool InAlignToSide, int InSides, float InZ, float Radius )
|
||||
{
|
||||
local int n,i,j,Ofs;
|
||||
n = GetVertexCount();
|
||||
if( InAlignToSide )
|
||||
{
|
||||
Radius /= cos(pi/InSides);
|
||||
Ofs = 1;
|
||||
}
|
||||
|
||||
// Vertices.
|
||||
for( i=0; i<InSides; i++ )
|
||||
for( j=-1; j<2; j+=2 )
|
||||
Vertex3f( Radius*sin((2*i+Ofs)*pi/InSides), Radius*cos((2*i+Ofs)*pi/InSides), j*InZ/2 );
|
||||
|
||||
// Polys.
|
||||
for( i=0; i<InSides; i++ )
|
||||
Poly4i( Direction, n+i*2, n+i*2+1, n+((i*2+3)%(2*InSides)), n+((i*2+2)%(2*InSides)), 'Wall' );
|
||||
}
|
||||
|
||||
event bool Build()
|
||||
{
|
||||
local int i,j;
|
||||
|
||||
if( Sides<3 )
|
||||
return BadParameters();
|
||||
if( Z<=0 || OuterRadius<=0 )
|
||||
return BadParameters();
|
||||
if( Hollow && (InnerRadius<=0 || InnerRadius>=OuterRadius) )
|
||||
return BadParameters();
|
||||
|
||||
BeginBrush( false, GroupName );
|
||||
BuildCylinder( +1, AlignToSide, Sides, Z, OuterRadius );
|
||||
if( Hollow )
|
||||
{
|
||||
BuildCylinder( -1, AlignToSide, Sides, Z, InnerRadius );
|
||||
for( j=-1; j<2; j+=2 )
|
||||
for( i=0; i<Sides; i++ )
|
||||
Poly4i( j, i*2+(1-j)/2, ((i+1)%Sides)*2+(1-j)/2, ((i+1)%Sides)*2+(1-j)/2+Sides*2, i*2+(1-j)/2+Sides*2, 'Cap' );
|
||||
}
|
||||
else
|
||||
{
|
||||
for( j=-1; j<2; j+=2 )
|
||||
{
|
||||
PolyBegin( j, 'Cap' );
|
||||
for( i=0; i<Sides; i++ )
|
||||
Polyi( i*2+(1-j)/2 );
|
||||
PolyEnd();
|
||||
}
|
||||
}
|
||||
return EndBrush();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Z=256
|
||||
OuterRadius=512
|
||||
InnerRadius=384
|
||||
Sides=8
|
||||
GroupName=Cylinder
|
||||
AlignToSide=true
|
||||
Hollow=false
|
||||
BitmapFilename="Btn_Cylinder"
|
||||
ToolTip="BrushBuilderName_Cylinder"
|
||||
}
|
13
UnrealEd/Classes/DEditorFontParameterValue.uc
Normal file
13
UnrealEd/Classes/DEditorFontParameterValue.uc
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorFontParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories;
|
||||
|
||||
|
||||
var() Font FontValue;
|
||||
var() int FontPage;
|
14
UnrealEd/Classes/DEditorParameterValue.uc
Normal file
14
UnrealEd/Classes/DEditorParameterValue.uc
Normal file
@ -0,0 +1,14 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This base class for material instance editor parameter represenation .
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorParameterValue extends Object
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories
|
||||
editinlinenew;
|
||||
|
||||
var() bool bOverride;
|
||||
var() name ParameterName;
|
||||
var Guid ExpressionId;
|
17
UnrealEd/Classes/DEditorScalarParameterValue.uc
Normal file
17
UnrealEd/Classes/DEditorScalarParameterValue.uc
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorScalarParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories
|
||||
editinlinenew;
|
||||
|
||||
|
||||
var() float ParameterValue;
|
||||
cpptext
|
||||
{
|
||||
|
||||
}
|
46
UnrealEd/Classes/DEditorStaticComponentMaskParameterValue.uc
Normal file
46
UnrealEd/Classes/DEditorStaticComponentMaskParameterValue.uc
Normal file
@ -0,0 +1,46 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorStaticComponentMaskParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories;
|
||||
|
||||
struct native DComponentMaskParameter
|
||||
{
|
||||
|
||||
|
||||
structcpptext
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
FDComponentMaskParameter(UBOOL InR, UBOOL InG, UBOOL InB, UBOOL InA) :
|
||||
R(InR),
|
||||
G(InG),
|
||||
B(InB),
|
||||
A(InA)
|
||||
{
|
||||
};
|
||||
FDComponentMaskParameter(){};
|
||||
}
|
||||
var() bool R;
|
||||
var() bool G;
|
||||
var() bool B;
|
||||
var() bool A;
|
||||
};
|
||||
var() DComponentMaskParameter ParameterValue;
|
||||
cpptext
|
||||
{
|
||||
/** Constructor */
|
||||
UDEditorStaticComponentMaskParameterValue(const FStaticComponentMaskParameter& InParameter) : ParameterValue(InParameter.R, InParameter.G, InParameter.B, InParameter.A)
|
||||
{
|
||||
//initialize base class members
|
||||
bOverride = InParameter.bOverride;
|
||||
ParameterName = InParameter.ParameterName;
|
||||
ExpressionId = InParameter.ExpressionGUID;
|
||||
}
|
||||
NO_DEFAULT_CONSTRUCTOR(UDEditorStaticComponentMaskParameterValue)
|
||||
|
||||
}
|
23
UnrealEd/Classes/DEditorStaticSwitchParameterValue.uc
Normal file
23
UnrealEd/Classes/DEditorStaticSwitchParameterValue.uc
Normal file
@ -0,0 +1,23 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorStaticSwitchParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories;
|
||||
|
||||
var() bool ParameterValue;
|
||||
cpptext
|
||||
{
|
||||
/** Constructor */
|
||||
UDEditorStaticSwitchParameterValue(const FStaticSwitchParameter& InParameter) : ParameterValue(InParameter.Value)
|
||||
{
|
||||
//initialize base class members
|
||||
bOverride = InParameter.bOverride;
|
||||
ParameterName = InParameter.ParameterName;
|
||||
ExpressionId = InParameter.ExpressionGUID;
|
||||
}
|
||||
NO_DEFAULT_CONSTRUCTOR(UDEditorStaticSwitchParameterValue)
|
||||
}
|
11
UnrealEd/Classes/DEditorTextureParameterValue.uc
Normal file
11
UnrealEd/Classes/DEditorTextureParameterValue.uc
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorTextureParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories;
|
||||
|
||||
var() Texture ParameterValue;
|
12
UnrealEd/Classes/DEditorVectorParameterValue.uc
Normal file
12
UnrealEd/Classes/DEditorVectorParameterValue.uc
Normal file
@ -0,0 +1,12 @@
|
||||
/**
|
||||
* MaterialEditorInstanceConstant.uc: This is derived class for material instance editor parameter represenation.
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class DEditorVectorParameterValue extends DEditorParameterValue
|
||||
native
|
||||
hidecategories(Object)
|
||||
dependson(UnrealEdTypes)
|
||||
collapsecategories
|
||||
editinlinenew;
|
||||
|
||||
var() LinearColor ParameterValue;
|
34
UnrealEd/Classes/DefaultSizedThumbnailRenderer.uc
Normal file
34
UnrealEd/Classes/DefaultSizedThumbnailRenderer.uc
Normal file
@ -0,0 +1,34 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* This thumbnail renderer holds some commonly shared properties
|
||||
*/
|
||||
class DefaultSizedThumbnailRenderer extends ThumbnailRenderer
|
||||
native
|
||||
abstract
|
||||
config(Editor);
|
||||
|
||||
/**
|
||||
* The default width of this thumbnail
|
||||
*/
|
||||
var config int DefaultSizeX;
|
||||
|
||||
/**
|
||||
* The default height of this thumbnail
|
||||
*/
|
||||
var config int DefaultSizeY;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Calculates the size the thumbnail would be at the specified zoom level.
|
||||
*
|
||||
* @param Object the object the thumbnail is of
|
||||
* @param PrimType ignored
|
||||
* @param Zoom the current multiplier of size
|
||||
* @param OutWidth the var that gets the width of the thumbnail
|
||||
* @param OutHeight the var that gets the height
|
||||
*/
|
||||
virtual void GetThumbnailSize(UObject* Object,EThumbnailPrimType,
|
||||
FLOAT Zoom,DWORD& OutWidth,DWORD& OutHeight);
|
||||
}
|
14
UnrealEd/Classes/EdModeComponent.uc
Normal file
14
UnrealEd/Classes/EdModeComponent.uc
Normal file
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
class EdModeComponent extends EditorComponent
|
||||
native
|
||||
noexport;
|
||||
|
||||
/** These mirror the C++ side properties. I'm making a class here so
|
||||
ModelComponent will get the defaultprops from the PrimitiveComponent base class */
|
||||
|
||||
// no properties
|
49
UnrealEd/Classes/EditorComponent.uc
Normal file
49
UnrealEd/Classes/EditorComponent.uc
Normal file
@ -0,0 +1,49 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
class EditorComponent extends PrimitiveComponent
|
||||
native
|
||||
noexport;
|
||||
|
||||
/** These mirror the C++ side properties. I'm making a class here so
|
||||
ModelComponent will get the defaultprops from the PrimitiveComponent base class */
|
||||
|
||||
var const bool bDrawGrid;
|
||||
var const bool bDrawPivot;
|
||||
var const bool bDrawBaseInfo;
|
||||
var const bool bDrawWorldBox;
|
||||
var const bool bDrawColoredOrigin;
|
||||
var const bool bDrawKillZ;
|
||||
|
||||
var const color GridColorHi;
|
||||
var const color GridColorLo;
|
||||
var const float PerspectiveGridSize;
|
||||
|
||||
var const color PivotColor;
|
||||
var const float PivotSize;
|
||||
|
||||
var const color BaseBoxColor;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
DepthPriorityGroup=SDPG_UnrealEdBackground
|
||||
|
||||
bDrawGrid=true
|
||||
bDrawPivot=true
|
||||
bDrawBaseInfo=true
|
||||
|
||||
GridColorHi=(R=0,G=0,B=127)
|
||||
GridColorLo=(R=0,G=0,B=63)
|
||||
PerspectiveGridSize=262143.0 //HALF_WORLD_MAX1
|
||||
bDrawWorldBox=true
|
||||
bDrawColoredOrigin=false
|
||||
bDrawKillZ=true
|
||||
|
||||
PivotColor=(R=255,G=0,B=0)
|
||||
PivotSize=0.02
|
||||
|
||||
BaseBoxColor=(R=0,G=255,B=0)
|
||||
}
|
284
UnrealEd/Classes/EditorEngine.uc
Normal file
284
UnrealEd/Classes/EditorEngine.uc
Normal file
@ -0,0 +1,284 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// EditorEngine: The UnrealEd subsystem.
|
||||
// This is a built-in Unreal class and it shouldn't be modified.
|
||||
//=============================================================================
|
||||
class EditorEngine extends Engine
|
||||
native
|
||||
config(Engine)
|
||||
noexport
|
||||
transient
|
||||
implements(Interface_PylonGeometryProvider)
|
||||
inherits(FCallbackEventDevice);
|
||||
|
||||
// Objects.
|
||||
var const model TempModel;
|
||||
var const model ConversionTempModel;
|
||||
var const transbuffer Trans;
|
||||
var const textbuffer Results;
|
||||
var const array<pointer> ActorProperties;
|
||||
var const pointer LevelProperties;
|
||||
|
||||
// Textures.
|
||||
var const texture2D Bad, Bkgnd, BkgndHi, BadHighlight, MaterialArrow, MaterialBackdrop;
|
||||
|
||||
// Font used by Canvas-based editors
|
||||
var const Font EditorFont;
|
||||
|
||||
// Audio
|
||||
var const transient SoundCue PreviewSoundCue;
|
||||
var const transient AudioComponent PreviewAudioComponent;
|
||||
|
||||
// Used in UnrealEd for showing materials
|
||||
var staticmesh TexPropCube;
|
||||
var staticmesh TexPropSphere;
|
||||
var staticmesh TexPropPlane;
|
||||
var staticmesh TexPropCylinder;
|
||||
|
||||
// Toggles.
|
||||
var const bool bFastRebuild, bBootstrapping, bIsImportingT3D;
|
||||
|
||||
// Other variables.
|
||||
var const int TerrainEditBrush, ClickFlags;
|
||||
var const package ParentContext;
|
||||
var const vector ClickLocation;
|
||||
var const plane ClickPlane;
|
||||
var const vector MouseMovement;
|
||||
var const native array<pointer> ViewportClients;
|
||||
|
||||
/** Distance to far clipping plane for perspective viewports. If <= GNearClippingPlane, far plane is at infinity. */
|
||||
var config float FarClippingPlane;
|
||||
|
||||
// Setting for the detail mode to show in the editor viewports
|
||||
var EDetailMode DetailMode;
|
||||
|
||||
// BEGIN FEditorConstraints
|
||||
var noexport const pointer ConstraintsVtbl;
|
||||
|
||||
// Grid.
|
||||
var(Grid) noexport config bool GridEnabled;
|
||||
var(Grid) noexport config bool SnapScaleEnabled;
|
||||
var(Grid) noexport config bool SnapVertices;
|
||||
var(Grid) noexport config int ScaleGridSize; // Integer percentage amount to snap scaling to.
|
||||
var(Grid) noexport config float SnapDistance;
|
||||
var(Grid) noexport config float GridSizes[11]; // FEditorConstraints::MAX_GRID_SIZES = 11 in native code
|
||||
var(Grid) noexport config int CurrentGridSz; // Index into GridSizes
|
||||
// Rotation grid.
|
||||
var(RotationGrid) noexport config bool RotGridEnabled;
|
||||
var(RotationGrid) noexport config rotator RotGridSize;
|
||||
var(RotationGrid) noexport config int AngleSnapType;
|
||||
// END FEditorConstraints
|
||||
|
||||
|
||||
// Advanced.
|
||||
var(Advanced) config bool UseSizingBox;
|
||||
var(Advanced) config bool UseAxisIndicator;
|
||||
var(Advanced) config float FOVAngle;
|
||||
var(Advanced) config bool GodMode;
|
||||
|
||||
/** The location to autosave to. */
|
||||
var(Advanced) config string AutoSaveDir;
|
||||
|
||||
var(Advanced) config bool InvertwidgetZAxis;
|
||||
var(Advanced) config string GameCommandLine;
|
||||
|
||||
/** the list of package names to compile when building scripts */
|
||||
var(Advanced) globalconfig array<string> EditPackages;
|
||||
|
||||
/** the base directory to use for finding .uc files to compile*/
|
||||
var(Advanced) config string EditPackagesInPath;
|
||||
|
||||
/** the directory to save compiled .u files to */
|
||||
var(Advanced) config string EditPackagesOutPath;
|
||||
|
||||
/** the directory to save compiled .u files to when script is compiled with the -FINAL_RELEASE switch */
|
||||
var(Advanced) config string FRScriptOutputPath;
|
||||
|
||||
/** If TRUE, always show the terrain in the overhead 2D view. */
|
||||
var(Advanced) config bool AlwaysShowTerrain;
|
||||
|
||||
/** If TRUE, use the gizmo for rotating actors. */
|
||||
var(Advanced) config bool UseActorRotationGizmo;
|
||||
|
||||
/** If TRUE, show translucent marker polygons on the builder brush and volumes. */
|
||||
var(Advanced) config bool bShowBrushMarkerPolys;
|
||||
|
||||
/** If TRUE, use Maya camera controls. */
|
||||
var(Advanced) config bool bUseMayaCameraControls;
|
||||
|
||||
/** If TRUE, parts of prefabs cannot be individually selected/edited. */
|
||||
var(Advanced) config bool bPrefabsLocked;
|
||||
|
||||
/** If TRUE, socket snapping is enabled in the main level viewports. */
|
||||
var(Advanced) config bool bEnableSocketSnapping;
|
||||
|
||||
/** If TRUE, socket names are enabled in the main level viewports. */
|
||||
var(Advanced) config bool bEnableSocketNames;
|
||||
|
||||
/** If TRUE, determines if reachspecs should be built for this level's pathnodes (may not be necessary if using navmesh) */
|
||||
var(Advanced) config bool bBuildReachSpecs;
|
||||
|
||||
/** If TRUE, same type views will be camera tied, and ortho views will use perspective view for LOD parenting */
|
||||
var bool bEnableLODLocking;
|
||||
|
||||
/** If TRUE, actors can be grouped and grouping rules will be maintained. When deactivated, any currently existing groups will still be preserved.*/
|
||||
var(Advanced) config bool bGroupingActive;
|
||||
|
||||
var config string HeightMapExportClassName;
|
||||
|
||||
/** array of actor factory classes to ignore for the global list (i.e. because they're not relevant to this game) */
|
||||
var config array<name> HiddenActorFactoryNames;
|
||||
/** Array of actor factories created at editor startup and used by context menu etc. */
|
||||
var const array<ActorFactory> ActorFactories;
|
||||
/** Actors that are being deleted and should processed in the global re-attach*/
|
||||
var array <Actor> ActorsForGlobalReattach;
|
||||
|
||||
/** String that maps one class name to another, used to create hook for game-specific actors created through shortcuts etc
|
||||
* Pairing is "ORIGINALCLASS;DESIREDCLASS
|
||||
* (ie APylon;AMyGamePylon)
|
||||
*/
|
||||
var config array<String> ClassMapPair;
|
||||
|
||||
/** The name of the file currently being opened in the editor. "" if no file is being opened. */
|
||||
var string UserOpenedFile;
|
||||
|
||||
///////////////////////////////
|
||||
// "Play From Here" properties
|
||||
|
||||
/** Additional per-user/per-game options set in the .ini file. Should be in the form "?option1=X?option2?option3=Y" */
|
||||
var(Advanced) config string InEditorGameURLOptions;
|
||||
/** A pointer to a UWorld that is the duplicated/saved-loaded to be played in with "Play From Here" */
|
||||
var const World PlayWorld;
|
||||
/** An optional location for the starting location for "Play From Here" */
|
||||
var const vector PlayWorldLocation;
|
||||
/** An optional rotation for the starting location for "Play From Here" */
|
||||
var const rotator PlayWorldRotation;
|
||||
/** Has a request for "Play From Here" been made? */
|
||||
var const bool bIsPlayWorldQueued;
|
||||
/** Has a request to spectate the map been made? */
|
||||
var const bool bStartInSpectatorMode;
|
||||
/** Did the request include the optional location and rotation? */
|
||||
var const bool bHasPlayWorldPlacement;
|
||||
/** True to enable mobile preview mode when launching the game from the editor on PC platform */
|
||||
var const bool bUseMobilePreviewForPlayWorld;
|
||||
/** Where did the person want to play? Where to play the game - -1 means in editor, 0 or more is an index into the GConsoleSupportContainer */
|
||||
var const int PlayWorldDestination;
|
||||
/** The current play world destination (I.E console). -1 means no current play world destination, 0 or more is an index into the GConsoleSupportContainer */
|
||||
var const int CurrentPlayWorldDestination;
|
||||
/** Mobile/PC preview settings for what features/resolution to use */
|
||||
var config int PlayInEditorWidth;
|
||||
/** Mobile/PC preview settings for what features/resolution to use */
|
||||
var config int PlayInEditorHeight;
|
||||
|
||||
/** Mobile preview settings for what orientation to default to */
|
||||
var config bool bMobilePreviewPortrait;
|
||||
|
||||
/** Currently targeted device for mobile previewer. */
|
||||
var config int BuildPlayDevice;
|
||||
|
||||
/** Folders in which the editor looks for template map files */
|
||||
var(Templates) config array<string> TemplateMapFolders;
|
||||
|
||||
/** When set to anything other than -1, indicates a specific In-Editor viewport index that PIE should use */
|
||||
var const int PlayInEditorViewportIndex;
|
||||
|
||||
/** Play world url string edited by a user. */
|
||||
var string UserEditedPlayWorldURL;
|
||||
|
||||
/** The width resolution that we want to use for the matinee capture */
|
||||
var config int MatineeCaptureResolutionX;
|
||||
|
||||
/** The height resolution that we want to use for the matinee capture */
|
||||
var config int MatineeCaptureResolutionY;
|
||||
|
||||
/** Contains a list of breakpoints that were hit while PlayWorld was active */
|
||||
var transient array<string> KismetDebuggerBreakpointQueue;
|
||||
/** If true, will cause a Kismet debugger window to be opened after the editor world has been restored */
|
||||
var transient bool bIsKismetDebuggerRequested;
|
||||
|
||||
// possible object propagators
|
||||
var const pointer InEditorPropagator;
|
||||
var const pointer RemotePropagator;
|
||||
|
||||
var bool bIsPushingView;
|
||||
var const transient bool bDecalUpdateRequested;
|
||||
|
||||
/** Temporary render target that can be used by the editor. */
|
||||
var const transient TextureRenderTarget2D ScratchRenderTarget2048;
|
||||
var const transient TextureRenderTarget2D ScratchRenderTarget1024;
|
||||
var const transient TextureRenderTarget2D ScratchRenderTarget512;
|
||||
var const transient TextureRenderTarget2D ScratchRenderTarget256;
|
||||
|
||||
/**
|
||||
* Display StreamingBounds for textures
|
||||
*/
|
||||
var const transient Texture2D StreamingBoundsTexture;
|
||||
|
||||
/** Global instance of the editor user settings */
|
||||
var const EditorUserSettings UserSettings;
|
||||
|
||||
/** Stores the class hierarchy generated from the make commandlet*/
|
||||
var native const pointer EditorClassHierarchy {FEditorClassHierarchy};
|
||||
|
||||
/** The full paths to meshes used to preview a static mesh in editor. */
|
||||
var array<string> PreviewMeshNames;
|
||||
/** A mesh component used to preview in editor without spawning a static mesh actor. */
|
||||
var const transient StaticMeshComponent PreviewMeshComp;
|
||||
/** The index of the mesh to use from the list of preview meshes. */
|
||||
var const int PreviewMeshIndex;
|
||||
/** When TRUE, the preview mesh mode is activated. */
|
||||
var const bool bPreviewPlayerHeight;
|
||||
|
||||
/** If "Camera Align" emitter handling uses a custom zoom or not */
|
||||
var config bool bCustomCameraAlignEmitter;
|
||||
/** The distance to place the camera from an emitter actor when custom zooming is enabled */
|
||||
var config float CustomCameraAlignEmitterDistance;
|
||||
|
||||
/** If true, then draw sockets when socket snapping is enabled in 'g' mode */
|
||||
var config bool bDrawSocketsInGMode;
|
||||
|
||||
/** If true, then draw particle debug helpers in editor viewports */
|
||||
var transient bool bDrawParticleHelpers;
|
||||
|
||||
var array<GroupActor> ActiveGroupActors;
|
||||
|
||||
/** Actor list for the intermediary buffer level used for moving actors between levels */
|
||||
var transient array<Actor> BufferLevelActors;
|
||||
|
||||
/** Force PIE to start in exact place suppressing kismet. It forces all levels to be streamed in, skips all level begin events and sets all matinees to skipable.*/
|
||||
var bool bForcePlayFromHere;
|
||||
|
||||
/** Keeps track of the last actor that had the camera aligned to it in Exec_Camera() */
|
||||
var transient Actor LastCameraAlignTarget;
|
||||
|
||||
/** If true, then do slow reference checks during map check */
|
||||
var transient bool bDoReferenceChecks;
|
||||
|
||||
/**
|
||||
* A mapping of all startup packages to whether or not we have warned the user about editing them
|
||||
*/
|
||||
var native transient map{UPackage*, UBOOL} StartupPackageToWarnState;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Bad=Texture2D'EditorResources.Bad'
|
||||
Bkgnd=Texture2D'EditorResources.Bkgnd'
|
||||
BkgndHi=Texture2D'EditorResources.BkgndHi'
|
||||
MaterialArrow=Texture2D'EditorResources.MaterialArrow'
|
||||
MaterialBackdrop=Texture2D'EditorResources.MaterialBackdrop'
|
||||
BadHighlight=Texture2D'EditorResources.BadHighlight'
|
||||
TexPropCube=StaticMesh'EditorMeshes.TexPropCube'
|
||||
TexPropSphere=StaticMesh'EditorMeshes.TexPropSphere'
|
||||
TexPropPlane=StaticMesh'EditorMeshes.TexPropPlane'
|
||||
TexPropCylinder=StaticMesh'EditorMeshes.TexPropCylinder'
|
||||
EditorFont=Font'EditorResources.SmallFont'
|
||||
DetailMode=3
|
||||
|
||||
PlayInEditorViewportIndex= -1;
|
||||
CurrentPlayWorldDestination = -1;
|
||||
}
|
105
UnrealEd/Classes/EditorUserSettings.uc
Normal file
105
UnrealEd/Classes/EditorUserSettings.uc
Normal file
@ -0,0 +1,105 @@
|
||||
/**
|
||||
* This class handles hotkey binding management for the editor.
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class EditorUserSettings extends Object
|
||||
hidecategories(Object)
|
||||
config(EditorUserSettings)
|
||||
native;
|
||||
|
||||
enum WASDType
|
||||
{
|
||||
WASD_Always,
|
||||
WASD_RMBOnly,
|
||||
WASD_Never,
|
||||
};
|
||||
|
||||
/** Whether to automatically save after a time interval */
|
||||
var(Options) config bool bAutoSaveEnable;
|
||||
|
||||
/** Whether to automatically save maps during an autosave */
|
||||
var(Options) config bool bAutoSaveMaps;
|
||||
|
||||
/** Whether to automatically save content packages during an autosave */
|
||||
var(Options) config bool bAutoSaveContent;
|
||||
|
||||
/** The time interval after which to auto save */
|
||||
var(Options) config int AutoSaveTimeMinutes;
|
||||
|
||||
/** Enable the use of flight camera controls under various circumstances */
|
||||
var(Options) config WASDType FlightCameraControlType;
|
||||
|
||||
/** The background color for material preview thumbnails in Generic Browser */
|
||||
var(Options) config Color PreviewThumbnailBackgroundColor;
|
||||
|
||||
/** The background color for translucent material preview thumbnails in Generic Browser */
|
||||
var(Options) config Color PreviewThumbnailTranslucentMaterialBackgroundColor;
|
||||
|
||||
/** Controls whether packages which are checked-out are automatically fully loaded at startup */
|
||||
var(Options) config bool bAutoloadCheckedOutPackages;
|
||||
|
||||
/** If this is true, the user will not be asked to fully load a package before saving or before creating a new object */
|
||||
var(Options) config bool bSuppressFullyLoadPrompt;
|
||||
|
||||
/** True if user should be allowed to select translucent objects in perspective viewports */
|
||||
var(Options) config bool bAllowSelectTranslucent;
|
||||
|
||||
/** True if Play In Editor should only load currently-visible levels in PIE */
|
||||
var(Options) config bool bOnlyLoadVisibleLevelsInPIE;
|
||||
|
||||
/** True if ortho-viewport box selection requires objects to be fully encompassed by the selection box to be selected */
|
||||
var(Options) config bool bStrictBoxSelection;
|
||||
|
||||
/** Whether to automatically prompt for SCC checkout on package modification */
|
||||
var(Options) config bool bPromptForCheckoutOnPackageModification;
|
||||
|
||||
/** If true audio will be enabled in the editor. Does not affect PIE **/
|
||||
var(Options) config bool bEnableRealTimeAudio;
|
||||
|
||||
/** Global volume setting for the editor */
|
||||
var(Options) config float EditorVolumeLevel;
|
||||
|
||||
/** True if we should move actors to their appropriate grid volume levels immediately after most operations */
|
||||
var(Options) config bool bUpdateActorsInGridLevelsImmediately;
|
||||
|
||||
/** True if we should automatically restart playback Flash Movies that are reimported in the editor */
|
||||
var(Options) config bool bAutoRestartReimportedFlashMovies;
|
||||
|
||||
/** True if we should automatically reimport textures when a change to source content is detected*/
|
||||
var(Options) config bool bAutoReimportTextures;
|
||||
|
||||
/** True if we should automatically reimport apex assets when a change to source content is detected*/
|
||||
var(Options) config bool bAutoReimportApexAssets;
|
||||
|
||||
/** True if we should automatically reimport animset assets when a change to source content is detected*/
|
||||
var(Options) config bool bAutoReimportAnimSets;
|
||||
|
||||
/** If checked all orthographic viewports are linked to the same position and move together */
|
||||
var(Options) config bool bUseLinkedOrthographicViewports;
|
||||
|
||||
/** If checked all show flags are more easily available in a menu straight off the viewport toolbar. */
|
||||
var(Options) config bool bEnableShowFlagsShortcut;
|
||||
|
||||
/** If true perspective viewports will default to realtime mode. */
|
||||
var(Options) config bool bStartInRealtimeMode;
|
||||
|
||||
/** How to constrain perspective viewport FOV */
|
||||
var(Options) config EAspectRatioAxisConstraint AspectRatioAxisConstraint;
|
||||
/** Whether to load a simple example map at startup */
|
||||
var(Options) config bool bLoadSimpleLevelAtStartup;
|
||||
|
||||
/** Enables real-time hover feedback when mousing over objects in editor viewports */
|
||||
var(Options) config bool bEnableViewportHoverFeedback;
|
||||
|
||||
/** Enables the editor perspective camera to be dropped at the last PlayInViewport cam position */
|
||||
var(Options) config bool bEnableViewportCameraToUpdateFromPIV;
|
||||
|
||||
/** Toggles emulation of mobile input and rendering on PC (enables touch-based input, disables gamma correction, certain post-processes, directional light maps, etc.) */
|
||||
var(Options) config bool bEmulateMobileFeatures;
|
||||
|
||||
/** When enabled, forces all content to be optimized for mobile platforms when possible (e.g. compress PVRTCs, flatten textures, etc) */
|
||||
var(Options) config bool bAlwaysOptimizeContentForMobile;
|
||||
|
||||
/** List of packages to autosave if bAutoSaveContent is true, if none specified will saved all */
|
||||
var(Options) config array<string> PackagesToSave;
|
17
UnrealEd/Classes/EditorViewportInput.uc
Normal file
17
UnrealEd/Classes/EditorViewportInput.uc
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
class EditorViewportInput extends Input
|
||||
transient
|
||||
config(Input)
|
||||
native;
|
||||
|
||||
var EditorEngine Editor;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual UBOOL Exec(const TCHAR* Cmd,FOutputDevice& Ar);
|
||||
}
|
13
UnrealEd/Classes/FaceFXStudioSkelComponent.uc
Normal file
13
UnrealEd/Classes/FaceFXStudioSkelComponent.uc
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class FaceFXStudioSkelComponent extends SkeletalMeshComponent
|
||||
native;
|
||||
|
||||
var transient native const pointer RenderWidgetUE3Ptr;
|
||||
|
||||
cpptext
|
||||
{
|
||||
// UPrimitiveComponent interface.
|
||||
virtual FPrimitiveSceneProxy* CreateSceneProxy();
|
||||
}
|
89
UnrealEd/Classes/FbxImportUI.uc
Normal file
89
UnrealEd/Classes/FbxImportUI.uc
Normal file
@ -0,0 +1,89 @@
|
||||
/**
|
||||
* Copyright 2010 Autodesk, Inc. All Rights Reserved.
|
||||
*
|
||||
* Fbx Importer UI options.
|
||||
*/
|
||||
|
||||
class FbxImportUI extends Object
|
||||
native
|
||||
config(EditorUserSettings)
|
||||
AutoExpandCategories( General, SkeletalMesh, StaticMesh, Materials)
|
||||
DontSortCategories( General, SkeletalMesh, StaticMesh, Materials)
|
||||
HideCategories(Object);
|
||||
|
||||
/** Import mesh type */
|
||||
enum EFBXImportType
|
||||
{
|
||||
/** Static mesh */
|
||||
FBXIT_StaticMesh<DisplayName=Static Mesh>,
|
||||
|
||||
/** Skeletal mesh */
|
||||
FBXIT_SkeletalMesh<DisplayName=Skeletal Mesh>,
|
||||
};
|
||||
|
||||
|
||||
/** Type of asset to import from the FBX file */
|
||||
var(General) EFBXImportType MeshTypeToImport<DisplayName=Import Type>;
|
||||
|
||||
/** Use the string in "Name" field as full name of mesh. The option only works when the scene contains one mesh. */
|
||||
var(General) config bool bOverrideFullName;
|
||||
|
||||
/** Enables importing of mesh LODs from FBX LOD groups, if present in the FBX file */
|
||||
var(General) config bool bImportMeshLODs;
|
||||
|
||||
/** Enabling this option will read the tangents(tangent,binormal,normal) from FBX file instead of generating them automatically. */
|
||||
var(General) config bool bOverrideTangents<DisplayName=Import Tangents>;
|
||||
|
||||
/** True to import morph target meshes from the FBX file */
|
||||
var(SkeletalMesh) config bool bImportMorphTargets;
|
||||
|
||||
/** True to import animations from the FBX File */
|
||||
var(SkeletalMesh) config bool bImportAnimations;
|
||||
|
||||
/** Enables importing of 'rigid animation' (unskinned, hierarchy-based animation) from this FBX file */
|
||||
var(SkeletalMesh) config bool bImportRigidAnimation<EditCondition=bImportAnimations>;
|
||||
|
||||
/** Enable this option to resample imported animation at 30 frames per second */
|
||||
var(SkeletalMesh) config bool bResampleAnimations<EditCondition=bImportAnimations>;
|
||||
|
||||
/** Enable this option to use frame 0 as reference pose */
|
||||
var(SkeletalMesh,Advanced) config bool bUseT0AsRefPose;
|
||||
|
||||
/** If checked, smoothing groups will be preserved */
|
||||
var(SkeletalMesh,Advanced) config bool bSplitNonMatchingTriangles<DisplayName=Preserve Smoothing Groups>;
|
||||
|
||||
/** If checked, meshes nested in bone hierarchies will be imported instead of being converted to bones. */
|
||||
var(SkeletalMesh,Advanced) bool bImportMeshesInBoneHierarchy;
|
||||
|
||||
/** For static meshes, enabling this option will combine all meshes in the FBX into a single monolithic mesh in Unreal */
|
||||
var(StaticMesh) config bool bCombineMeshes;
|
||||
|
||||
/** If true, will replace the vertex colors on an existing mesh with the vertex colors from the FBX file */
|
||||
var(StaticMesh) config bool bReplaceVertexColors;
|
||||
|
||||
/** For static meshes, enabling this option will read normals from the FBX file instead of calculating them. */
|
||||
var(StaticMesh,Advanced) config bool bExplicitNormals;
|
||||
|
||||
/** Disabling this option will keep degenerate triangles found. In general you should leave this option on. */
|
||||
var(StaticMesh,Advanced) bool bRemoveDegenerates;
|
||||
|
||||
/** If checked, one convex hull per UCX_ prefixed collison mesh will be generated instead of decomposing into multiple hulls */
|
||||
var(StaticMesh,Advanced) config bool bOneConvexHullPerUCX;
|
||||
|
||||
/** Whether to automatically create Unreal materials for materials found in the FBX scene */
|
||||
var(Materials) config bool bImportMaterials;
|
||||
|
||||
/** The option works only when option "Import Material" is OFF. If "Import Material" is ON, textures are always imported. */
|
||||
var(Materials) config bool bImportTextures;
|
||||
|
||||
/** If either importing of textures (or materials) is enabled, this option will cause normal map values to be inverted */
|
||||
var(Materials) config bool bInvertNormalMaps;
|
||||
|
||||
/** If enabled, materials and textures will be imported into sub-groups named "Materials" or "Textures" */
|
||||
var(Materials) config bool bAutoCreateGroups<DisplayName=Create Groups Automatically>;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
bRemoveDegenerates=True;
|
||||
bImportMeshesInBoneHierarchy=False;
|
||||
}
|
40
UnrealEd/Classes/FindUnreferencedFunctionsCommandlet.uc
Normal file
40
UnrealEd/Classes/FindUnreferencedFunctionsCommandlet.uc
Normal file
@ -0,0 +1,40 @@
|
||||
/**
|
||||
* This commandlet generates a list of functions which aren't referenced by any code in the game. This commandlet does not call the
|
||||
* event "Main".
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class FindUnreferencedFunctionsCommandlet extends Commandlet
|
||||
native;
|
||||
|
||||
/** Worker class which processes compiled bytecode. */
|
||||
var transient const ByteCodeSerializer Serializer;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Find the original function declaration from an interface class implemented by FunctionOwnerClass.
|
||||
*
|
||||
* @param FunctionOwnerClass the class containing the function being looked up.
|
||||
* @param Function the function being looked up
|
||||
*
|
||||
* @return if Function is an implementation of a function declared in an interface class implemented by FunctionOwnerClass,
|
||||
* returns a pointer to the function from the interface class; NULL if Function isn't an implementation of an interface
|
||||
* function
|
||||
*/
|
||||
UFunction* GetInterfaceFunctionDeclaration( UClass* FunctionOwnerClass, UFunction* Function );
|
||||
|
||||
/**
|
||||
* Commandlet entry point
|
||||
*
|
||||
* @param Params the command line parameters that were passed in.
|
||||
*
|
||||
* @return 0 if the commandlet succeeded; otherwise, an error code defined by the commandlet.
|
||||
*/
|
||||
virtual INT Main(const FString& Params);
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
|
||||
}
|
20
UnrealEd/Classes/FontThumbnailLabelRenderer.uc
Normal file
20
UnrealEd/Classes/FontThumbnailLabelRenderer.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* This is a simple thumbnail label renderer for fonts that
|
||||
* lists info about the font that was imported
|
||||
*/
|
||||
class FontThumbnailLabelRenderer extends ThumbnailLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and font import info
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
43
UnrealEd/Classes/FontThumbnailRenderer.uc
Normal file
43
UnrealEd/Classes/FontThumbnailRenderer.uc
Normal file
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* This thumbnail renderer displays the texture for the object in question
|
||||
*/
|
||||
class FontThumbnailRenderer extends TextureThumbnailRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Calculates the size the thumbnail would be at the specified zoom level
|
||||
*
|
||||
* @param Object the object the thumbnail is of
|
||||
* @param PrimType ignored
|
||||
* @param Zoom the current multiplier of size
|
||||
* @param OutWidth the var that gets the width of the thumbnail
|
||||
* @param OutHeight the var that gets the height
|
||||
*/
|
||||
virtual void GetThumbnailSize(UObject* Object,EThumbnailPrimType,
|
||||
FLOAT Zoom,DWORD& OutWidth,DWORD& OutHeight);
|
||||
|
||||
/**
|
||||
* Draws a thumbnail for the object that was specified
|
||||
*
|
||||
* @param Object the object to draw the thumbnail for
|
||||
* @param PrimType ignored
|
||||
* @param X the X coordinate to start drawing at
|
||||
* @param Y the Y coordinate to start drawing at
|
||||
* @param Width the width of the thumbnail to draw
|
||||
* @param Height the height of the thumbnail to draw
|
||||
* @param Viewport ignored
|
||||
* @param Canvas the render interface to draw with
|
||||
* @param BackgroundType type of background for the thumbnail
|
||||
* @param PreviewBackgroundColor background color for material previews
|
||||
* @param PreviewBackgroundColorTranslucent background color for translucent material previews
|
||||
*/
|
||||
virtual void Draw(UObject* Object,EThumbnailPrimType,INT X,INT Y,
|
||||
DWORD Width,DWORD Height,FRenderTarget*,FCanvas* Canvas,
|
||||
EThumbnailBackgroundType BackgroundType,
|
||||
FColor PreviewBackgroundColor,
|
||||
FColor PreviewBackgroundColorTranslucent);
|
||||
}
|
19
UnrealEd/Classes/FracturedStaticMeshLabelRenderer.uc
Normal file
19
UnrealEd/Classes/FracturedStaticMeshLabelRenderer.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* This is the fractured static mesh label renderer
|
||||
*/
|
||||
class FracturedStaticMeshLabelRenderer extends StaticMeshLabelRenderer
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Adds the name of the object and information about the mesh
|
||||
*
|
||||
* @param Object the object to build the labels for
|
||||
* @param OutLabels the array that is added to
|
||||
*/
|
||||
void BuildLabelList(UObject* Object, const ThumbnailOptions& InOptions, TArray<FString>& OutLabels);
|
||||
}
|
411
UnrealEd/Classes/GameStatsDatabase.uc
Normal file
411
UnrealEd/Classes/GameStatsDatabase.uc
Normal file
@ -0,0 +1,411 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Streams gameplay events recorded during a session to disk
|
||||
*/
|
||||
class GameStatsDatabase extends Object
|
||||
native(GameStats)
|
||||
config(Editor);
|
||||
|
||||
|
||||
`if(`__TW_ )
|
||||
/** Date Filters */
|
||||
enum GameStatsDateFilters
|
||||
{
|
||||
GSDF_Today,
|
||||
GSDF_Last3Days,
|
||||
GSDF_LastWeek,
|
||||
GSDF_LastYear
|
||||
};
|
||||
`else
|
||||
/** Date Filters */
|
||||
enum GameStatsDateFilters
|
||||
{
|
||||
GSDF_Today,
|
||||
GSDF_Last3Days,
|
||||
GSDF_LastWeek
|
||||
};
|
||||
`endif //__TW_
|
||||
|
||||
/** Cached mapping of all files found on editor load to the maps they represent */
|
||||
var const private native transient MultiMap_Mirror MapNameToFilenameMapping{TMultiMap<FString, FString>};
|
||||
|
||||
/** All events in the database */
|
||||
var const private native transient array<pointer> AllEvents{FIGameStatEntry};
|
||||
|
||||
/** Mapping of all session query indices by session ID */
|
||||
var const private native transient Map_Mirror AllSessions{TMap<FString, struct FGameSessionEntry>};
|
||||
|
||||
/** Mapping of session id to local filename */
|
||||
var const private native transient Map_Mirror SessionFilenamesBySessionID{TMap<FString, FString>};
|
||||
|
||||
/** Mapping of session metadata by session id */
|
||||
var const private native transient Map_Mirror SessionInfoBySessionID{TMap<FString, struct FGameSessionInformation>};
|
||||
/** Mapping of recorded player metadata by session id */
|
||||
var const private native transient Map_Mirror PlayerListBySessionID{TMap<FString, TArray<struct FPlayerInformation> >};
|
||||
/** Mapping of recorded team metadata by session id */
|
||||
var const private native transient Map_Mirror TeamListBySessionID{TMap<FString, TArray<struct FTeamInformation> >};
|
||||
/** Mapping of recorded event metadata by session id */
|
||||
var const private native transient Map_Mirror SupportedEventsBySessionID{TMap<FString, TArray<struct FGameplayEventMetaData> >};
|
||||
/** Mapping of recorded weapon class metadata by session id */
|
||||
var const private native transient Map_Mirror WeaponClassesBySessionID{TMap<FString, TArray<struct FWeaponClassEventData> >};
|
||||
/** Mapping of recorded damage class metadata by session id */
|
||||
var const private native transient Map_Mirror DamageClassesBySessionID{TMap<FString, TArray<struct FDamageClassEventData> >};
|
||||
/** Mapping of recorded projectile class metadata by session id */
|
||||
var const private native transient Map_Mirror ProjectileClassesBySessionID{TMap<FString, TArray<struct FProjectileClassEventData> >};
|
||||
/** Mapping of recorded pawn class metadata by session id */
|
||||
var const private native transient Map_Mirror PawnClassesBySessionID{TMap<FString, TArray<struct FPawnClassEventData> >};
|
||||
|
||||
/** Unique gametypes found in the database */
|
||||
var const transient array<string> AllGameTypes;
|
||||
|
||||
|
||||
/** REMOTE IMPLEMENTATION **/
|
||||
|
||||
/** Pointer to the remote database interface */
|
||||
var const private native transient pointer RemoteDB{struct FGameStatsRemoteDB};
|
||||
|
||||
/** Name of the class responsible for parsing stats file on disk */
|
||||
var config string GameStatsFileReaderClassname;
|
||||
/** Name of the class responsible for game state while parsing the stats file */
|
||||
var config string GameStateClassname;
|
||||
|
||||
/** Representation of some session/value pair for database queries */
|
||||
struct native SessionIndexPair
|
||||
{
|
||||
/** The session this index is relevant for */
|
||||
var init string SessionId;
|
||||
/** The index we're searching for */
|
||||
var int Index;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
FSessionIndexPair(EEventParm)
|
||||
{
|
||||
appMemzero(this, sizeof(FSessionIndexPair));
|
||||
}
|
||||
|
||||
FSessionIndexPair(const FString& InSessionId, const INT InIndex)
|
||||
: SessionId(InSessionId), Index(InIndex) {}
|
||||
}
|
||||
};
|
||||
|
||||
/** The struct containing the current notion of a game stats database query */
|
||||
struct native GameStatsSearchQuery
|
||||
{
|
||||
/** Min time in query */
|
||||
var int StartTime;
|
||||
|
||||
/** Max time in query */
|
||||
var int EndTime;
|
||||
|
||||
/** Array of relevant session IDs */
|
||||
var array<string> SessionIDs;
|
||||
|
||||
/** Array of relevant event IDs */
|
||||
var array<int> EventIDs;
|
||||
|
||||
/** Array of relevant team indices */
|
||||
var array<SessionIndexPair> TeamIndices;
|
||||
|
||||
/** Array of relevant player indices */
|
||||
var array<SessionIndexPair> PlayerIndices;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
/** Constructors */
|
||||
FGameStatsSearchQuery() {}
|
||||
FGameStatsSearchQuery(EEventParm)
|
||||
{
|
||||
appMemzero(this, sizeof(FGameStatsSearchQuery));
|
||||
}
|
||||
|
||||
enum SearchQueryTypes
|
||||
{
|
||||
ALL_PLAYERS = INDEX_NONE,
|
||||
ALL_TEAMS = INDEX_NONE,
|
||||
ALL_EVENTS = INDEX_NONE,
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
/** Organizational notion of a stats session */
|
||||
struct native GameSessionEntry
|
||||
{
|
||||
/** Mapping of session ID to events recorded */
|
||||
var const init transient array<int> AllEvents;
|
||||
|
||||
/** Any event that isn't specific to a player or team */
|
||||
var const transient array<int> GameEvents;
|
||||
|
||||
/** Mapping of player index to events recorded */
|
||||
var const native transient MultiMap_Mirror EventsByPlayer{TMultiMap<INT, INT>};
|
||||
|
||||
/** Mapping of round index to events recorded */
|
||||
var const native transient MultiMap_Mirror EventsByRound{TMultiMap<INT, INT>};
|
||||
|
||||
/** Mapping of event index to events of that type */
|
||||
var const native transient MultiMap_Mirror EventsByType{TMultiMap<INT, INT>};
|
||||
|
||||
/** Mapping of team index to events recorded */
|
||||
var const native transient MultiMap_Mirror EventsByTeam{TMultiMap<INT, INT>};
|
||||
|
||||
structcpptext
|
||||
{
|
||||
/** Constructors */
|
||||
FGameSessionEntry() {}
|
||||
FGameSessionEntry(EEventParm)
|
||||
{
|
||||
appMemzero(this, sizeof(FGameSessionEntry));
|
||||
}
|
||||
|
||||
/* Clear out all contained data */
|
||||
void Empty()
|
||||
{
|
||||
AllEvents.Empty();
|
||||
GameEvents.Empty();
|
||||
EventsByPlayer.Empty();
|
||||
EventsByRound.Empty();
|
||||
EventsByType.Empty();
|
||||
EventsByTeam.Empty();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Base implementation of a "database" entry */
|
||||
struct native IGameStatEntry
|
||||
{
|
||||
structcpptext
|
||||
{
|
||||
FIGameStatEntry() {}
|
||||
FIGameStatEntry(const struct FGameEventHeader& GameEvent);
|
||||
FIGameStatEntry(class FDataBaseRecordSet* RecordSet);
|
||||
|
||||
/**
|
||||
* Every entry type must handle/accept the visitor interface
|
||||
* @param Visitor - Interface class wanting access to the entry
|
||||
*/
|
||||
virtual void Accept(class IGameStatsDatabaseVisitor* Visitor)
|
||||
{
|
||||
ensureMsg(0, TEXT("Game stats database entry type didn't implement Accept function!"));
|
||||
}
|
||||
}
|
||||
|
||||
/** VTbl placeholder */
|
||||
var native const noexport pointer Vtbl_IGameStatEntry;
|
||||
|
||||
/** Basic components of a game stat entry in the db */
|
||||
var init string EventName;
|
||||
var int EventID;
|
||||
var float EventTime;
|
||||
};
|
||||
|
||||
/** Implementation of a query result set */
|
||||
struct native GameStatsRecordSet
|
||||
{
|
||||
var init array<int> LocalRecordSet;
|
||||
var init native array<pointer> RemoteRecordSet{FIGameStatEntry};
|
||||
|
||||
structcpptext
|
||||
{
|
||||
INT GetNumResults() { return LocalRecordSet.Num() + RemoteRecordSet.Num(); }
|
||||
}
|
||||
};
|
||||
|
||||
cpptext
|
||||
{
|
||||
public:
|
||||
|
||||
/** @return TRUE if this database is able to access a remote database */
|
||||
UBOOL HasRemoteConnection() { return RemoteDB != NULL; }
|
||||
|
||||
/**
|
||||
* Query this database
|
||||
* @param SearchQuery - the query to run on the database
|
||||
* @param Events - out array of indices of relevant events in the database
|
||||
* @return the number of results found for this query
|
||||
*/
|
||||
virtual INT QueryDatabase(const struct FGameStatsSearchQuery& Query, struct FGameStatsRecordSet& RecordSet);
|
||||
|
||||
/**
|
||||
* Allows a visitor interface access to every database entry of interest
|
||||
* @param SessionID - session we're interested in
|
||||
* @param EventIndices - all events the visitor wants access to
|
||||
* @param Visitor - the visitor interface that will be accessing the data
|
||||
* @return TRUE if the visitor got what it needed from the visit, FALSE otherwise
|
||||
*/
|
||||
virtual UBOOL VisitEntries(const struct FGameStatsRecordSet& RecordSet, class IGameStatsDatabaseVisitor* Visitor);
|
||||
|
||||
/**
|
||||
* Fill in database structures for a given sessionID if necessary
|
||||
* @param SessionID - session to cache data for
|
||||
*/
|
||||
virtual void PopulateSessionData(const FString& SessionID);
|
||||
|
||||
protected:
|
||||
/*
|
||||
* Get all events associated with a given session
|
||||
* @param SessionID - session we're interested in
|
||||
* @param Events - array of indices related to relevant session events
|
||||
*/
|
||||
virtual INT GetEventsBySessionID(const FString& SessionID, TArray<INT>& Events);
|
||||
|
||||
/*
|
||||
* Get all game events associated with a given session (neither player nor team)
|
||||
* @param SessionID - session we're interested in
|
||||
* @param Events - array of indices related to relevant game events
|
||||
*/
|
||||
virtual INT GetGameEventsBySession(const FString& SessionID, TArray<INT>& Events);
|
||||
|
||||
/*
|
||||
* Get all events associated with a given team
|
||||
* @param SessionID - session we're interested in
|
||||
* @param TeamIndex - the team to return the events for (INDEX_NONE is all teams)
|
||||
* @param Events - array of indices related to relevant team events
|
||||
*/
|
||||
virtual INT GetEventsByTeam(const FString& SessionID, INT TeamIndex, TArray<INT>& Events);
|
||||
|
||||
/*
|
||||
* Get all events associated with a given player
|
||||
* @param SessionID - session we're interested in
|
||||
* @param PlayerIndex - the player to return the events for (INDEX_NONE is all players)
|
||||
* @param Events - array of indices related to relevant player events
|
||||
*/
|
||||
virtual INT GetEventsByPlayer(const FString& SessionID, INT PlayerIndex, TArray<INT>& Events);
|
||||
|
||||
/*
|
||||
* Get all events associated with a given round
|
||||
* @param SessionID - session we're interested in
|
||||
* @param RoundNumber - the round to return events for (INDEX_NONE is all rounds)
|
||||
* @param Events - array of indices related to relevant round events
|
||||
*/
|
||||
virtual INT GetEventsByRound(const FString& SessionID, INT RoundNumber, TArray<INT>& Events);
|
||||
|
||||
/*
|
||||
* Get all events associated with a given event ID
|
||||
* @param SessionID - session we're interested in
|
||||
* @param EventID - the event of interest (INDEX_NONE is all events)
|
||||
* @param Events - array of indices related to relevant events
|
||||
*/
|
||||
virtual INT GetEventsByID(const FString& SessionID, INT EventID, TArray<INT>& Events);
|
||||
|
||||
/** Searches the stats directory for relevant data files and populates the database */
|
||||
virtual void LoadLocalData(const FString& MapName, GameStatsDateFilters DateFilter);
|
||||
|
||||
/** Connects to the remote database and populates the db with data */
|
||||
virtual void LoadRemoteData(const FString& MapName, GameStatsDateFilters DateFilter);
|
||||
|
||||
/**
|
||||
* Open a game stats file for reading
|
||||
* @param Filename - name of the file that will be open for serialization
|
||||
* @return TRUE if successful, else FALSE
|
||||
*/
|
||||
virtual UBOOL OpenStatsFile(const FString& Filename);
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize the database session for a given map
|
||||
* @param MapName - database will be populated with data relevant to this map
|
||||
*/
|
||||
native function Init(const string MapName, GameStatsDateFilters DateFilter);
|
||||
|
||||
/*
|
||||
* Iterate over all valid files in the stats directory and create a mapping of map name to filename
|
||||
*/
|
||||
native function CacheLocalFilenames();
|
||||
|
||||
/*
|
||||
* Get the gametypes in the database
|
||||
* @param GameTypes - array of all gametypes in the database
|
||||
*/
|
||||
native function GetGameTypes(out array<string> GameTypes);
|
||||
|
||||
/*
|
||||
* Get the session ids in the database
|
||||
* @param DateFilter - Date enum to filter by
|
||||
* @param GameTypeFilter - GameClass name or "ANY"
|
||||
* @param SessionIDs - array of all sessions in the database
|
||||
*/
|
||||
native function GetSessionIDs(GameStatsDateFilters DateFilter, const string GameTypeFilter, out array<string> SessionIDs);
|
||||
|
||||
/*
|
||||
* Is the session ID found in a local file or in the remote database
|
||||
* @param SessionID - session of interest
|
||||
* @return TRUE if this data is from a file on disk, FALSE if remote database
|
||||
*/
|
||||
native function bool IsSessionIDLocal(const string SessionID);
|
||||
|
||||
/**
|
||||
* Get a list of the players by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of players
|
||||
*/
|
||||
native function GetSessionInfoBySessionID(const string SessionID, out GameSessionInformation OutSessionInfo);
|
||||
|
||||
/**
|
||||
* Get a list of the players by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of players
|
||||
*/
|
||||
native function GetPlayersListBySessionID(const string SessionID, out array<PlayerInformation> OutPlayerList);
|
||||
|
||||
/**
|
||||
* Get a list of the teams by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of teams
|
||||
*/
|
||||
native function GetTeamListBySessionID(const string SessionID, out array<TeamInformation> OutTeamList);
|
||||
|
||||
/**
|
||||
* Get a list of the recorded events by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of events
|
||||
*/
|
||||
native function GetEventsListBySessionID(const string SessionID, out array<GameplayEventMetaData> OutGameplayEvents);
|
||||
|
||||
/**
|
||||
* Get a list of the recorded weapons by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of weapons
|
||||
*/
|
||||
native function GetWeaponListBySessionID(const string SessionID, out array<WeaponClassEventData> OutWeaponList);
|
||||
|
||||
/**
|
||||
* Get a list of the recorded damage types by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of damage types
|
||||
*/
|
||||
native function GetDamageListBySessionID(const string SessionID, out array<DamageClassEventData> OutDamageList);
|
||||
|
||||
/**
|
||||
* Get a list of the recorded projectiles by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of projectiles
|
||||
*/
|
||||
native function GetProjectileListBySessionID(const string SessionID, out array<ProjectileClassEventData> OutProjectileList);
|
||||
|
||||
/**
|
||||
* Get a list of the recorded pawn types by session ID
|
||||
* @param SessionID - session ID to get the list for
|
||||
* @param PlayerList - output array of pawn types
|
||||
*/
|
||||
native function GetPawnListBySessionID(const string SessionID, out array<PawnClassEventData> OutPawnList);
|
||||
|
||||
/*
|
||||
* Get the total count of events of a given type
|
||||
* @param SessionID - session we're interested in
|
||||
* @param EventID - the event to return the count for
|
||||
*/
|
||||
native function int GetEventCountByType(const string SessionID, int EventID);
|
||||
|
||||
/*
|
||||
* Empty all tables in the database
|
||||
*/
|
||||
native function ClearDatabase();
|
||||
|
||||
/*
|
||||
* Upload a given session ID to the master database
|
||||
* @SessionID - session ID to upload
|
||||
* @return TRUE if successful, FALSE for any error condition
|
||||
*/
|
||||
native function bool UploadSession(const string SessionID);
|
62
UnrealEd/Classes/GameStatsDatabaseVisitor.uc
Normal file
62
UnrealEd/Classes/GameStatsDatabaseVisitor.uc
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Interface for visiting game stat database entries, must implement all database entry types
|
||||
*/
|
||||
interface GameStatsDatabaseVisitor
|
||||
native(GameStats);
|
||||
|
||||
cpptext
|
||||
{
|
||||
/** Called before the visiting begins */
|
||||
virtual void BeginVisiting() = 0;
|
||||
|
||||
/** Called after the visiting is over */
|
||||
virtual UBOOL EndVisiting() = 0;
|
||||
|
||||
/**
|
||||
* Abstract functions that defines a visitor's behavior when given a GameStatEntry
|
||||
* There must be an entry for each possible concrete datatype stored in the database
|
||||
* or else no visit action will occur.
|
||||
*/
|
||||
virtual void Visit(class GameStringEntry* Entry) = 0;
|
||||
virtual void Visit(class GameIntEntry* Entry) = 0;
|
||||
virtual void Visit(class GameFloatEntry* Entry) = 0;
|
||||
virtual void Visit(class GamePositionEntry* Entry) = 0;
|
||||
virtual void Visit(class TeamIntEntry* Entry) = 0;
|
||||
virtual void Visit(class TeamStringEntry* Entry) = 0;
|
||||
virtual void Visit(class TeamFloatEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerStringEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerIntEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerFloatEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerLoginEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerSpawnEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerKillDeathEntry* Entry) = 0;
|
||||
virtual void Visit(class PlayerPlayerEntry * Entry) = 0;
|
||||
virtual void Visit(class WeaponEntry* Entry) = 0;
|
||||
virtual void Visit(class DamageEntry* Entry) = 0;
|
||||
virtual void Visit(class ProjectileIntEntry* Entry) = 0;
|
||||
virtual void Visit(class GenericParamListEntry* Entry) = 0;
|
||||
|
||||
|
||||
/** Forward declarations so that games can create game specific events that can be visited */
|
||||
virtual void Visit(class EntryEx1* Entry) = 0;
|
||||
virtual void Visit(class EntryEx2* Entry) = 0;
|
||||
virtual void Visit(class EntryEx3* Entry) = 0;
|
||||
virtual void Visit(class EntryEx4* Entry) = 0;
|
||||
virtual void Visit(class EntryEx5* Entry) = 0;
|
||||
virtual void Visit(class EntryEx6* Entry) = 0;
|
||||
virtual void Visit(class EntryEx7* Entry) = 0;
|
||||
virtual void Visit(class EntryEx8* Entry) = 0;
|
||||
virtual void Visit(class EntryEx9* Entry) = 0;
|
||||
virtual void Visit(class EntryEx10* Entry) = 0;
|
||||
virtual void Visit(class EntryEx11* Entry) = 0;
|
||||
virtual void Visit(class EntryEx12* Entry) = 0;
|
||||
virtual void Visit(class EntryEx13* Entry) = 0;
|
||||
virtual void Visit(class EntryEx14* Entry) = 0;
|
||||
virtual void Visit(class EntryEx15* Entry) = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
56
UnrealEd/Classes/GameStatsFileReader.uc
Normal file
56
UnrealEd/Classes/GameStatsFileReader.uc
Normal file
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Streams gameplay events recorded during a session to disk
|
||||
*/
|
||||
class GameStatsFileReader extends GameplayEventsHandler
|
||||
dependson(GameStatsDatabase)
|
||||
native(GameStats);
|
||||
|
||||
// Stream processing helpers
|
||||
var private GameStateObject GameState;
|
||||
|
||||
// All the relevant mappings after reading in a file
|
||||
var GameSessionEntry SessionData;
|
||||
|
||||
// Amount all values in the indices are offset by (set by database before call to ProcessStream )
|
||||
var int EventsOffset;
|
||||
|
||||
/** All events in the file */
|
||||
var const private native transient array<pointer> AllEvents{FIGameStatEntry};
|
||||
|
||||
cpptext
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* The function that does the actual handling of data (override with particular implementation)
|
||||
* @param GameEvent - header of the current game event from disk
|
||||
* @param GameEventData - payload immediately following the header
|
||||
*/
|
||||
virtual void HandleEvent(struct FGameEventHeader& GameEvent, class IGameEvent* GameEventData);
|
||||
|
||||
/*
|
||||
* Set the game state this handler will use
|
||||
* @param InGameState - game state object to use
|
||||
*/
|
||||
virtual void SetGameState(class UGameStateObject* InGameState);
|
||||
|
||||
/**
|
||||
* Adds a new event created to the array of all events in the file
|
||||
* @param NewEvent - new event to add
|
||||
* @param TeamIndex - Team Index for team events (INDEX_NONE if not a team event)
|
||||
* @param PlayerIndex - Player Index for player events (INDEX_NONE if not a player event)
|
||||
* @param TargetIndex - Target Index for player events (INDEX_NONE if event has no target)
|
||||
*/
|
||||
void AddNewEvent(struct FIGameStatEntry* NewEvent, INT TeamIndex, INT PlayerIndex, INT TargetIndex);
|
||||
};
|
||||
|
||||
/** Free up the temp data */
|
||||
native event Cleanup();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
271
UnrealEd/Classes/GameStatsReport.uc
Normal file
271
UnrealEd/Classes/GameStatsReport.uc
Normal file
@ -0,0 +1,271 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Base class for generating reports from the game stats data
|
||||
*/
|
||||
class GameStatsReport extends Object
|
||||
abstract
|
||||
config(Editor)
|
||||
native(GameStats);
|
||||
|
||||
enum EReportType
|
||||
{
|
||||
RT_SingleSession, // Single session recorded
|
||||
RT_Game // All sessions related (all data under a single GUID)
|
||||
};
|
||||
|
||||
/** Basic key value pair structure for XML output */
|
||||
struct native MetaKeyValuePair
|
||||
{
|
||||
var init string Tag;
|
||||
var init string Key;
|
||||
var init string Value;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
FMetaKeyValuePair()
|
||||
{}
|
||||
FMetaKeyValuePair(EEventParm)
|
||||
{
|
||||
appMemzero(this, sizeof(FMetaKeyValuePair));
|
||||
}
|
||||
FMetaKeyValuePair(const FString& InTag) : Tag(InTag) {}
|
||||
}
|
||||
};
|
||||
|
||||
/** Basic XML container, contains key value pairs and other sub categories */
|
||||
struct native Category
|
||||
{
|
||||
var init string Tag;
|
||||
var init string Header;
|
||||
var int id;
|
||||
var init array<MetaKeyValuePair> KeyValuePairs;
|
||||
var init array<Category> SubCategories;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
FCategory()
|
||||
{}
|
||||
FCategory(EEventParm)
|
||||
{
|
||||
appMemzero(this, sizeof(FCategory));
|
||||
}
|
||||
FCategory(const FString& InTag, const FString& InHeader) : Tag(InTag), Header(InHeader), Id(INDEX_NONE) {}
|
||||
}
|
||||
};
|
||||
|
||||
/** Heatmap queries to generate for this report */
|
||||
struct native HeatmapQuery
|
||||
{
|
||||
/** Name to call this heatmap */
|
||||
var string HeatmapName;
|
||||
/** Events to include in the query */
|
||||
var array<int> EventIDs;
|
||||
/** Filename for the query output */
|
||||
var string ImageFilename;
|
||||
};
|
||||
|
||||
/** Copy of the session info */
|
||||
var GameSessionInformation SessionInfo;
|
||||
/** Instance of the game state */
|
||||
var transient GameStateObject GameState;
|
||||
/** Instance of the file reader */
|
||||
var transient GameplayEventsReader StatsFileReader;
|
||||
/** Game stats aggregator */
|
||||
var transient GameStatsAggregator Aggregator;
|
||||
|
||||
/** Events to post in the special "highlights" sections of the report */
|
||||
var array<int> HighlightEvents;
|
||||
|
||||
/** EventIDs to display as columns for game stats */
|
||||
var array<int> GameStatsColumns;
|
||||
/** EventIDs to display as columns for team stats */
|
||||
var array<int> TeamStatsColumns;
|
||||
/** EventIDs to display as columns for player stats */
|
||||
var array<int> PlayerStatsColumns;
|
||||
/** EventIDs to display as columns for weapon stats */
|
||||
var array<int> WeaponStatsColumns;
|
||||
/** EventIDs to display as columns for damage stats */
|
||||
var array<int> DamageStatsColumns;
|
||||
/** EventIDs to display as columns for projectile stats */
|
||||
var array<int> ProjectileStatsColumns;
|
||||
/** EventIDs to display as columns for pawn stats */
|
||||
var array<int> PawnStatsColumns;
|
||||
|
||||
/** Base URL for report location */
|
||||
var config string ReportBaseURL;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/** Output the entire report in XML */
|
||||
virtual void WriteReport(FArchive& Ar);
|
||||
/**
|
||||
* Write the session header information to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteSessionHeader(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the any image reference information to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteImageMetadata(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the session metadata to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteMetadata(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the game stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteGameValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the team stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteTeamValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Fill out the information for a single team
|
||||
* @param Team - XML object to fill in with data
|
||||
* @param TeamIndex - team currently being written out
|
||||
*/
|
||||
virtual void WriteTeamValue(FCategory& Team, INT TeamIndex);
|
||||
/**
|
||||
* Write the player stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WritePlayerValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Fill out the information for a single player
|
||||
* @param Player - XML object to fill in with data
|
||||
* @param PlayerIndex - player currently being written out
|
||||
*/
|
||||
virtual void WritePlayerValue(FCategory& Player, INT PlayerIndex);
|
||||
/**
|
||||
* Write the weapon stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteWeaponValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the damage stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteDamageValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the projectile stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteProjectileValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write the pawn stats data to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WritePawnValues(FArchive& Ar, INT IndentCount);
|
||||
/**
|
||||
* Write anything game specific to XML
|
||||
* @param Ar - archive to write out
|
||||
* @param IndentCount - number of tabs to indent this information
|
||||
*/
|
||||
virtual void WriteGameSpecificValues(FArchive& Ar, INT IndentCount) {}
|
||||
|
||||
/**
|
||||
* Get an URL related this report
|
||||
* @param ReportType - report type to generate
|
||||
* @return URL passed to a browser to view the report
|
||||
*/
|
||||
virtual FString GetReportURL(EReportType ReportType) { return TEXT(""); }
|
||||
/** @return the location of the file generated */
|
||||
virtual FString GetReportFilename(const FString& FileExt);
|
||||
|
||||
/** @return list of heatmap queries to run on the database for this report */
|
||||
virtual void GetHeatmapQueries(TArray<FHeatmapQuery>& HeatmapQueries);
|
||||
|
||||
/*
|
||||
* Get all the event columns to be displayed in the whole report
|
||||
* @param EventColumns - structure to add columns to
|
||||
*/
|
||||
virtual void GetAllEventColumns(TArray<INT>& EventColumns);
|
||||
/*
|
||||
* Get all the weapon events for a given time period (uses WeaponStatsColumns)
|
||||
* @param ParentCategory - XML container to fill with the data
|
||||
* @param TimePeriod - TimePeriod (0 game, 1+ round)
|
||||
* @param WeaponEvents - the aggregate events structure to get the data from
|
||||
* @param StatsReader - the file reader containing the weapon metadata
|
||||
*/
|
||||
void GetWeaponValuesForTimePeriod(FCategory& ParentCategory, INT TimePeriod, const struct FWeaponEvents& WeaponEvents, const class UGameplayEventsReader* StatsReader);
|
||||
/*
|
||||
* Get all the damage events for a given time period (uses DamageStatsColumns)
|
||||
* @param ParentCategory - XML container to fill with the data
|
||||
* @param TimePeriod - TimePeriod (0 game, 1+ round)
|
||||
* @param DamageEvents - the aggregate events structure to get the data from
|
||||
* @param StatsReader - the file reader containing the damage metadata
|
||||
*/
|
||||
void GetDamageValuesForTimePeriod(FCategory& ParentCategory, INT TimePeriod, const struct FDamageEvents& DamageEvents, const class UGameplayEventsReader* StatsReader);
|
||||
/*
|
||||
* Get all the projectile events for a given time period (uses ProjectileStatsColumns)
|
||||
* @param ParentCategory - XML container to fill with the data
|
||||
* @param TimePeriod - TimePeriod (0 game, 1+ round)
|
||||
* @param ProjectileEvents - the aggregate events structure to get the data from
|
||||
* @param StatsReader - the file reader containing the projectile metadata
|
||||
*/
|
||||
void GetProjectileValuesForTimePeriod(FCategory& ParentCategory, INT TimePeriod, const struct FProjectileEvents& ProjectileEvents, const class UGameplayEventsReader* StatsReader);
|
||||
/*
|
||||
* Get all the pawn events for a given time period (uses PawnStatsColumns)
|
||||
* @param ParentCategory - XML container to fill with the data
|
||||
* @param TimePeriod - TimePeriod (0 game, 1+ round)
|
||||
* @param PawnEvents - the aggregate events structure to get the data from
|
||||
* @param StatsReader - the file reader containing the pawn metadata
|
||||
*/
|
||||
void GetPawnValuesForTimePeriod(FCategory& ParentCategory, INT TimePeriod, const struct FPawnEvents& PawnEvents, const class UGameplayEventsReader* StatsReader);
|
||||
|
||||
};
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
// Player events to highlight at top of report
|
||||
HighlightEvents.Add(GAMEEVENT_AGGREGATED_PLAYER_KILLS);
|
||||
HighlightEvents.Add(GAMEEVENT_AGGREGATED_PLAYER_DEATHS);
|
||||
HighlightEvents.Add(GAMEEVENT_AGGREGATED_PAWN_SPAWN);
|
||||
HighlightEvents.Add(GAMEEVENT_AGGREGATED_PLAYER_MATCH_WON);
|
||||
|
||||
// Team stats to display
|
||||
TeamStatsColumns.Add(GAMEEVENT_AGGREGATED_TEAM_GAME_SCORE)
|
||||
TeamStatsColumns.Add(GAMEEVENT_AGGREGATED_TEAM_MATCH_WON)
|
||||
TeamStatsColumns.Add(GAMEEVENT_AGGREGATED_TEAM_ROUND_WON)
|
||||
TeamStatsColumns.Add(GAMEEVENT_AGGREGATED_TEAM_KILLS)
|
||||
TeamStatsColumns.Add(GAMEEVENT_AGGREGATED_TEAM_DEATHS)
|
||||
|
||||
// Player stats to display
|
||||
PlayerStatsColumns.Add(GAMEEVENT_AGGREGATED_PLAYER_MATCH_WON)
|
||||
PlayerStatsColumns.Add(GAMEEVENT_AGGREGATED_PLAYER_ROUND_WON)
|
||||
PlayerStatsColumns.Add(GAMEEVENT_AGGREGATED_PLAYER_KILLS)
|
||||
PlayerStatsColumns.Add(GAMEEVENT_AGGREGATED_PLAYER_DEATHS)
|
||||
PlayerStatsColumns.Add(GAMEEVENT_AGGREGATED_PLAYER_TIMEALIVE)
|
||||
|
||||
// Weapon stats to display
|
||||
WeaponStatsColumns.Add(GAMEEVENT_AGGREGATED_WEAPON_FIRED)
|
||||
|
||||
// Damage stats to display
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_KILLS)
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_DEATHS)
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_DEALT_WEAPON_DAMAGE)
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_RECEIVED_WEAPON_DAMAGE)
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_DEALT_MELEE_DAMAGE)
|
||||
DamageStatsColumns.Add(GAMEEVENT_AGGREGATED_DAMAGE_RECEIVED_MELEE_DAMAGE)
|
||||
|
||||
// Projectile stats to display
|
||||
|
||||
// Pawn stats to display
|
||||
PawnStatsColumns.Add(GAMEEVENT_AGGREGATED_PAWN_SPAWN)
|
||||
}
|
||||
|
61
UnrealEd/Classes/GameStatsVisitorImpl.uc
Normal file
61
UnrealEd/Classes/GameStatsVisitorImpl.uc
Normal file
@ -0,0 +1,61 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Generic implementation of the GameStatsDatabaseVisitor interface
|
||||
*/
|
||||
class GameStatsVisitorImpl extends Object
|
||||
implements(GameStatsDatabaseVisitor)
|
||||
abstract
|
||||
native(GameStats)
|
||||
config(Editor);
|
||||
|
||||
cpptext
|
||||
{
|
||||
/** Called before the visiting begins */
|
||||
virtual void BeginVisiting() { /* Do nothing */ }
|
||||
|
||||
/** Called after the visiting is over */
|
||||
virtual UBOOL EndVisiting() { return TRUE; }
|
||||
|
||||
/**
|
||||
* Abstract functions that defines a visitor's behavior when given a GameStatEntry
|
||||
* There must be an entry for each possible concrete datatype stored in the database
|
||||
* or else no visit action will occur.
|
||||
*/
|
||||
virtual void Visit(class GameStringEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class GameIntEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class GameFloatEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class GamePositionEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class TeamIntEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class TeamFloatEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class TeamStringEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerStringEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerIntEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerFloatEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerLoginEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerSpawnEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerKillDeathEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class PlayerPlayerEntry * Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class WeaponEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class DamageEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class ProjectileIntEntry* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class GenericParamListEntry* Entry){ /* Do SOMETHING! */ }
|
||||
|
||||
|
||||
/** Forward declarations so that games can create game specific events that can be visited */
|
||||
virtual void Visit(class EntryEx1* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx2* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx3* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx4* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx5* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx6* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx7* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx8* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx9* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx10* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx11* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx12* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx13* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx14* Entry) { /* Do nothing */ }
|
||||
virtual void Visit(class EntryEx15* Entry) { /* Do nothing */ }
|
||||
}
|
97
UnrealEd/Classes/GameStatsVisualizer.uc
Normal file
97
UnrealEd/Classes/GameStatsVisualizer.uc
Normal file
@ -0,0 +1,97 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*
|
||||
* Visualization interface for game statistics
|
||||
*/
|
||||
class GameStatsVisualizer extends GameStatsVisitorImpl
|
||||
abstract
|
||||
native(GameStats);
|
||||
|
||||
cpptext
|
||||
{
|
||||
/** Given a chance to initialize */
|
||||
virtual void Init() {}
|
||||
|
||||
/** Reset the visualizer to initial state */
|
||||
virtual void Reset() {}
|
||||
|
||||
/** Given a chance to cleanup on destruction */
|
||||
virtual void Cleanup() {}
|
||||
|
||||
/**
|
||||
* Draw your stuff
|
||||
* @param View - the view being drawn in
|
||||
* @param PDI - draw interface for primitives
|
||||
* @param ViewportType - type of viewport being draw (perspective, ortho)
|
||||
*/
|
||||
virtual void Visualize(const FSceneView* View, class FPrimitiveDrawInterface* PDI, ELevelViewportType ViewportType) {}
|
||||
|
||||
/**
|
||||
* Draw your stuff as a canvas overlay
|
||||
* @param ViewportClient - viewport client currently drawing
|
||||
* @param View - the view being drawn in
|
||||
* @param Canvas - overlay canvas
|
||||
* @param ViewportType - type of viewport being draw (perspective, ortho)
|
||||
*/
|
||||
virtual void VisualizeCanvas(FEditorLevelViewportClient* ViewportClient, const FSceneView* View, FCanvas* Canvas, ELevelViewportType ViewportType) {}
|
||||
|
||||
/** Returns the number of data points the visualizer is actively working with */
|
||||
virtual INT GetVisualizationSetCount() const { return 0; }
|
||||
|
||||
/**
|
||||
* Retrieve some metadata about an event
|
||||
* @param EventIndex - some visualizer relative index about the data to get metadata about
|
||||
* @param MetadataString - return string containing information about the event requested
|
||||
*/
|
||||
virtual void GetMetadata(INT EventIndex, FString& MetadataString) {}
|
||||
|
||||
/**
|
||||
* Called when a hitproxy belonging to this visualizer is triggered
|
||||
* @param HitProxy - hitproxy the editor says was triggered
|
||||
*/
|
||||
virtual void HandleHitProxy(struct HGameStatsHitProxy* HitProxy) {}
|
||||
|
||||
/** Get the friendly name of the visualization type */
|
||||
virtual const FString& GetFriendlyName() { return FriendlyName; }
|
||||
|
||||
/**
|
||||
* Associates this visualization with the given GUI parent that created it
|
||||
* @param InParent - Parent to associate with this visualizer
|
||||
*/
|
||||
virtual void SetParent(WxGameStatsVisualizer* InParent) { Parent = InParent; }
|
||||
|
||||
/**
|
||||
* Returns a dialog box with options related to the visualizer
|
||||
* @return NULL if no options for this visualizer, else pointer to dialog
|
||||
*/
|
||||
virtual class WxVisualizerOptionsDialog* GetOptionsDialog() { return NULL; }
|
||||
|
||||
/**
|
||||
* Invalidates all viewports for the specified location/rotation
|
||||
*
|
||||
* @param Location the location to invalidate
|
||||
* @param Rotation the rotation to invalidate
|
||||
*/
|
||||
void InvalidateViewportsForEvent(const FVector& Location,const FRotator& Rotation);
|
||||
}
|
||||
|
||||
/** The parent gui */
|
||||
var native private const pointer Parent{class WxGameStatsVisualizer};
|
||||
|
||||
/** Human readable name for this visualizer */
|
||||
var string FriendlyName;
|
||||
|
||||
/** Name of the options dialog resource */
|
||||
var string OptionsDialogName;
|
||||
|
||||
/** The options dialog (will be NULL before first call to options) */
|
||||
var native private const pointer OptionsDialog{class WxVisualizerOptionsDialog};
|
||||
|
||||
/** Supported events by this visualizer */
|
||||
var config array<int> SupportedEvents;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
FriendlyName="Base Visualizer"
|
||||
OptionsDialogName=""
|
||||
}
|
316
UnrealEd/Classes/GenericBrowserType.uc
Normal file
316
UnrealEd/Classes/GenericBrowserType.uc
Normal file
@ -0,0 +1,316 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
// GenericBrowserType
|
||||
//
|
||||
// This class provides a generic interface for extending the generic browsers
|
||||
// base list of resource types.
|
||||
|
||||
class GenericBrowserType
|
||||
extends Object
|
||||
abstract
|
||||
hidecategories(Object,GenericBrowserType)
|
||||
native;
|
||||
|
||||
// A human readable name for this modifier
|
||||
var string Description;
|
||||
|
||||
|
||||
/** Describes a command that a type of object supports */
|
||||
struct transient native ObjectSupportedCommandType
|
||||
{
|
||||
/** The ID we'll use to identify this command. It's a constant. */
|
||||
var int CommandID;
|
||||
|
||||
/** The index of the parent menu item */
|
||||
var int ParentIndex;
|
||||
|
||||
/** How this command should appear in a context menu (localized!) */
|
||||
var string LocalizedName;
|
||||
|
||||
/** Whether the command should appear enabled (true) or greyed-out (false) */
|
||||
var bool bIsEnabled;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
/** Constructor that initializes all elements */
|
||||
FObjectSupportedCommandType( INT InCommandID, const FString& InLocalizedName, UBOOL bInIsEnabled = TRUE, INT InParentIndex = -1 )
|
||||
: CommandID( InCommandID ),
|
||||
LocalizedName( InLocalizedName ),
|
||||
bIsEnabled( bInIsEnabled ),
|
||||
ParentIndex( InParentIndex )
|
||||
{
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct native GenericBrowserTypeInfo
|
||||
{
|
||||
/** the class associated with this browser type */
|
||||
var const class Class;
|
||||
|
||||
/** the color to use for rendering objects of this type */
|
||||
var const color BorderColor;
|
||||
|
||||
/** if specified, only objects that have these flags will be considered */
|
||||
var native const qword RequiredFlags;
|
||||
|
||||
/** Pointer to the GenericBrowserType that should be called to handle events for this type. */
|
||||
var GenericBrowserType BrowserType;
|
||||
|
||||
/** Callback used to determine whether object is Supported*/
|
||||
var native pointer IsSupportedCallback;
|
||||
|
||||
structcpptext
|
||||
{
|
||||
typedef UBOOL (*GenericBrowserSupportCallback)(UObject* Object);
|
||||
|
||||
FGenericBrowserTypeInfo(
|
||||
UClass* InClass,
|
||||
const FColor& InBorderColor,
|
||||
QWORD InRequiredFlags = 0,
|
||||
UGenericBrowserType* InBrowserType = NULL,
|
||||
GenericBrowserSupportCallback InIsSupportedCallback = NULL
|
||||
)
|
||||
: Class(InClass)
|
||||
, RequiredFlags(InRequiredFlags)
|
||||
, BorderColor(InBorderColor)
|
||||
, BrowserType(InBrowserType)
|
||||
, IsSupportedCallback(InIsSupportedCallback)
|
||||
{}
|
||||
|
||||
UBOOL Supports( UObject* Object ) const
|
||||
{
|
||||
UBOOL bResult = FALSE;
|
||||
//@HSL_BEGIN_XBOX
|
||||
if ( Object && Object->IsA(Class) )
|
||||
//@HSL_END_XBOX
|
||||
{
|
||||
bResult = TRUE;
|
||||
if ( RequiredFlags != 0 )
|
||||
{
|
||||
bResult = Object->HasAllFlags(RequiredFlags);
|
||||
}
|
||||
if( bResult && IsSupportedCallback )
|
||||
{
|
||||
GenericBrowserSupportCallback Callback = (GenericBrowserSupportCallback) IsSupportedCallback;
|
||||
bResult = Callback( Object );
|
||||
}
|
||||
}
|
||||
return bResult;
|
||||
}
|
||||
|
||||
inline UBOOL operator==( const FGenericBrowserTypeInfo& Other ) const
|
||||
{
|
||||
return ( Class == Other.Class && RequiredFlags == Other.RequiredFlags );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// A list of information that this type supports.
|
||||
var native array<GenericBrowserTypeInfo> SupportInfo;
|
||||
|
||||
// The color of the border drawn around this type in the browser.
|
||||
var color BorderColor;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* @return Returns the browser type description string.
|
||||
*/
|
||||
const FString& GetBrowserTypeDescription() const
|
||||
{
|
||||
return Description;
|
||||
}
|
||||
|
||||
FColor GetBorderColor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Does any initial set up that the type requires.
|
||||
*/
|
||||
virtual void Init()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear out any old data before calling Init() again
|
||||
*/
|
||||
virtual void Clear();
|
||||
|
||||
/**
|
||||
* Checks to see if the specified class is handled by this type.
|
||||
*
|
||||
* @param InObject The object we need to check if we support
|
||||
*/
|
||||
UBOOL Supports( UObject* InObject ) const;
|
||||
|
||||
/**
|
||||
* Creates a context menu specific to the type of objects that are selected.
|
||||
*
|
||||
* @param Selection The selected object set.
|
||||
*/
|
||||
class WxMBGenericBrowserContextBase* GetContextMenu( USelection* Selection );
|
||||
|
||||
/**
|
||||
* Invokes the editor for an object. The default behaviour is to
|
||||
* open a property window for the object. Dervied classes can override
|
||||
* this with eg an editor which is specialized for the object's class.
|
||||
*
|
||||
* @param InObject The object to invoke the editor for.
|
||||
*/
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject )
|
||||
{
|
||||
return ShowObjectProperties( InObject );
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a property window for the specified object. By default, GEditor's
|
||||
* notify hook is used on the property window. Derived classes can override
|
||||
* this method in order to eg provide their own notify hook.
|
||||
*
|
||||
* @param InObject The object to invoke the property window for.
|
||||
*/
|
||||
virtual UBOOL ShowObjectProperties( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Opens a property window for the specified objects. By default, GEditor's
|
||||
* notify hook is used on the property window. Derived classes can override
|
||||
* this method in order to eg provide their own notify hook.
|
||||
*
|
||||
* @param InObjects The objects to invoke the property window for.
|
||||
*/
|
||||
virtual UBOOL ShowObjectProperties( const TArray<UObject*>& InObjects );
|
||||
|
||||
/**
|
||||
* Invokes the editor for all selected objects.
|
||||
*/
|
||||
virtual UBOOL ShowObjectEditor();
|
||||
|
||||
/**
|
||||
* Displays the object properties window for all selected objects that this
|
||||
* GenericBrowserType supports.
|
||||
*/
|
||||
UBOOL ShowObjectProperties();
|
||||
|
||||
|
||||
/**
|
||||
* Static: Returns a list of standard context menu commands supported by the specified objects
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
static void QueryStandardSupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands );
|
||||
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
/**
|
||||
* Returns the default command to be executed given the selected object.
|
||||
*
|
||||
* @param InObject The objects to query the default command for
|
||||
*
|
||||
* @return The ID of the default action command (i.e. command that happens on double click or enter).
|
||||
*/
|
||||
virtual INT QueryDefaultCommand( TArray<UObject*>& InObjects ) const;
|
||||
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command for every selected object
|
||||
* of a supported class.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
*/
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand );
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
* @param InObject The object to invoke the command against
|
||||
*/
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects )
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls the virtual "DoubleClick" function for each object
|
||||
* of a supported class.
|
||||
*/
|
||||
|
||||
virtual void DoubleClick();
|
||||
|
||||
/**
|
||||
* Allows each type to handle double clicking as they see fit.
|
||||
*/
|
||||
|
||||
virtual void DoubleClick( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Retrieves a list of objects supported by this browser type which
|
||||
* are currently selected in the generic browser.
|
||||
*/
|
||||
void GetSelectedObjects( TArray<UObject*>& Objects );
|
||||
|
||||
/**
|
||||
* Determines whether the specified package is allowed to be saved.
|
||||
*/
|
||||
virtual UBOOL IsSavePackageAllowed( UPackage* PackageToSave );
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Determines whether the specified package is allowed to be saved.
|
||||
*
|
||||
* @param PackageToSave the package that is about to be saved
|
||||
* @param StandaloneObjects a list of objects from PackageToSave which were marked RF_Standalone
|
||||
*/
|
||||
virtual UBOOL IsSavePackageAllowed( UPackage* PackageToSave, TArray<UObject*>& StandaloneObjects )
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Static: Returns true if any of the specified objects have already been cooked
|
||||
*/
|
||||
static UBOOL AnyObjectsAreCooked( USelection* InObjects );
|
||||
|
||||
|
||||
public:
|
||||
/**
|
||||
* Called when the user chooses to delete objects from the generic browser. Gives the resource type the opportunity
|
||||
* to perform any special logic prior to the delete.
|
||||
*
|
||||
* @param ObjectToDelete the object about to be deleted.
|
||||
*
|
||||
* @return TRUE to allow the object to be deleted, FALSE to prevent the object from being deleted.
|
||||
*/
|
||||
virtual UBOOL NotifyPreDeleteObject( UObject* ObjectToDelete )
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the user chooses to delete objects from the generic browser, after the object has been checked for referencers.
|
||||
* Gives the resource type the opportunity to perform any special logic after the delete.
|
||||
*
|
||||
* @param ObjectToDelete the object that was deleted.
|
||||
* @param bDeleteSuccessful TRUE if the object wasn't referenced and was successfully marked for deletion.
|
||||
*/
|
||||
virtual void NotifyPostDeleteObject()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
22
UnrealEd/Classes/GenericBrowserType_AkBank.uc
Normal file
22
UnrealEd/Classes/GenericBrowserType_AkBank.uc
Normal file
@ -0,0 +1,22 @@
|
||||
class GenericBrowserType_AkBank
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init( void );
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="AkBank"
|
||||
}
|
22
UnrealEd/Classes/GenericBrowserType_AkEvent.uc
Normal file
22
UnrealEd/Classes/GenericBrowserType_AkEvent.uc
Normal file
@ -0,0 +1,22 @@
|
||||
class GenericBrowserType_AkEvent
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init( void );
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="AkEvent"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_All.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_All.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_All: All resource types
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_All
|
||||
extends GenericBrowserType_Custom
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="_All_"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_AnimTree.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_AnimTree.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_AnimTree: Animation Blend Trees
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_AnimTree
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Animation Trees"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_Animation.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_Animation.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_Animation: Animations
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_Animation
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Animation Sets"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_ApexClothingAsset.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_ApexClothingAsset.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/*=============================================================================
|
||||
GenericBrowserType_ApexClothingAsset.uc: Apex integration for Clothing Assets.
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class GenericBrowserType_ApexClothingAsset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Apex clothing asset"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_ApexDestructibleAsset.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_ApexDestructibleAsset.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/*=============================================================================
|
||||
GenericBrowserType_ApexDestructibleAsset.uc: Apex integration for Destructible Assets.
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class GenericBrowserType_ApexDestructibleAsset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Apex destructible asset"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
class GenericBrowserType_ApexDestructibleDamageParameters
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor(UObject *InObject);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description = "Apex Destructible Damage Parameters"
|
||||
}
|
26
UnrealEd/Classes/GenericBrowserType_ApexGenericAsset.uc
Normal file
26
UnrealEd/Classes/GenericBrowserType_ApexGenericAsset.uc
Normal file
@ -0,0 +1,26 @@
|
||||
/*=============================================================================
|
||||
GenericBrowserType_ApexGenericAsset.uc: Apex integration for Generic Assets.
|
||||
Copyright 2008-2009 NVIDIA corporation..
|
||||
=============================================================================*/
|
||||
|
||||
class GenericBrowserType_ApexGenericAsset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
virtual void InvokeCustomCommand( INT InCommand );
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
virtual void DoubleClick();
|
||||
virtual void DoubleClick( UObject* InObject );
|
||||
virtual INT QueryDefaultCommand( TArray<UObject*>& InObjects ) const;
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject);
|
||||
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="APEX Asset";
|
||||
}
|
45
UnrealEd/Classes/GenericBrowserType_Archetype.uc
Normal file
45
UnrealEd/Classes/GenericBrowserType_Archetype.uc
Normal file
@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//-----------------------------------------------------------
|
||||
// Browser type for archetype classes
|
||||
//-----------------------------------------------------------
|
||||
class GenericBrowserType_Archetype extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
|
||||
/**
|
||||
* Determines whether the specified object is an archetype that should be handled by this generic browser type.
|
||||
*
|
||||
* @param Object a pointer to a object with the RF_ArchetypeObject flag
|
||||
*
|
||||
* @return TRUE if this generic browser type supports to object specified.
|
||||
*/
|
||||
static UBOOL IsArchetypeSupported( UObject* Object );
|
||||
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
/**
|
||||
* Returns the default command to be executed given the selected object.
|
||||
*
|
||||
* @param InObject The objects to query the default command for
|
||||
*
|
||||
* @return The ID of the default action command (i.e. command that happens on double click or enter).
|
||||
*/
|
||||
virtual INT QueryDefaultCommand( TArray<UObject*>& InObjects ) const;
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Archetypes"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_CameraAnim.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_CameraAnim.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Generic browser type for Camera animations
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class GenericBrowserType_CameraAnim extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Initialize the supported classes for this browser type.
|
||||
*/
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Camera Animations"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_CurveEdPresetCurve.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_CurveEdPresetCurve.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Generic browser type for editing UIScenes
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
class GenericBrowserType_CurveEdPresetCurve extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Initialize the supported classes for this browser type.
|
||||
*/
|
||||
virtual void Init();
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Preset curve for curve editor"
|
||||
}
|
71
UnrealEd/Classes/GenericBrowserType_Custom.uc
Normal file
71
UnrealEd/Classes/GenericBrowserType_Custom.uc
Normal file
@ -0,0 +1,71 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_Custom: Custom resource types
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_Custom
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
/**
|
||||
* Invokes the editor for all selected objects.
|
||||
*
|
||||
* This version loops through all of the supported classes for the custom type and
|
||||
* calls the appropriate implementation of the function.
|
||||
*/
|
||||
virtual UBOOL ShowObjectEditor();
|
||||
|
||||
/**
|
||||
* Invokes the editor for an object. The default behaviour is to
|
||||
* open a property window for the object. Dervied classes can override
|
||||
* this with eg an editor which is specialized for the object's class.
|
||||
*
|
||||
* This version loops through all of the supported classes for the custom type and
|
||||
* calls the appropriate implementation of the function.
|
||||
*
|
||||
* @param InObject The object to invoke the editor for.
|
||||
*/
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Opens a property window for the specified object. By default, GEditor's
|
||||
* notify hook is used on the property window. Derived classes can override
|
||||
* this method in order to eg provide their own notify hook.
|
||||
*
|
||||
* This version loops through all of the supported classes for the custom type and
|
||||
* calls the appropriate implementation of the function.
|
||||
*
|
||||
* @param InObject The object to invoke the property window for.
|
||||
*/
|
||||
virtual UBOOL ShowObjectProperties( const TArray<UObject*>& InObjects );
|
||||
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command for every selected object
|
||||
* of a supported class.
|
||||
*
|
||||
* This version loops through all of the supported classes for the custom type and
|
||||
* calls the appropriate implementation of the function.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
*/
|
||||
virtual void InvokeCustomCommand( INT InCommand );
|
||||
|
||||
/**
|
||||
* Calls the virtual "DoubleClick" function for each object
|
||||
* of a supported class.
|
||||
*
|
||||
* This version loops through all of the supported classes for the custom type and
|
||||
* calls the appropriate implementation of the function.
|
||||
*/
|
||||
virtual void DoubleClick();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="_Custom_"
|
||||
}
|
28
UnrealEd/Classes/GenericBrowserType_DecalMaterial.uc
Normal file
28
UnrealEd/Classes/GenericBrowserType_DecalMaterial.uc
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class GenericBrowserType_DecalMaterial
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Decal Materials"
|
||||
}
|
31
UnrealEd/Classes/GenericBrowserType_FaceFXAnimSet.uc
Normal file
31
UnrealEd/Classes/GenericBrowserType_FaceFXAnimSet.uc
Normal file
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_FaceFXAnimSet: FaceFX AnimSets
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_FaceFXAnimSet
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="FaceFX Animations"
|
||||
}
|
33
UnrealEd/Classes/GenericBrowserType_FaceFXAsset.uc
Normal file
33
UnrealEd/Classes/GenericBrowserType_FaceFXAsset.uc
Normal file
@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_FaceFXAsset: FaceFX Assets
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_FaceFXAsset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
virtual UBOOL ShowObjectProperties( UObject* InObject );
|
||||
virtual UBOOL ShowObjectProperties( const TArray<UObject*>& InObjects );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="FaceFX Assets"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_FlexContainer.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_FlexContainer.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2011 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class GenericBrowserType_FlexContainer
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor(UObject *InObject);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description = "Flex Container"
|
||||
|
||||
}
|
45
UnrealEd/Classes/GenericBrowserType_Font.uc
Normal file
45
UnrealEd/Classes/GenericBrowserType_Font.uc
Normal file
@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_Font: Fonts
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_Font
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
/**
|
||||
* Displays the font properties window for editing & importing/exporting of
|
||||
* font pages
|
||||
*
|
||||
* @param InObject the object being edited
|
||||
*/
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
* @param InObject The object to invoke the command against
|
||||
*/
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Fonts"
|
||||
}
|
17
UnrealEd/Classes/GenericBrowserType_FractureMaterial.uc
Normal file
17
UnrealEd/Classes/GenericBrowserType_FractureMaterial.uc
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 2010 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class GenericBrowserType_FractureMaterial extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description = "Fracture Material"
|
||||
}
|
30
UnrealEd/Classes/GenericBrowserType_FracturedStaticMesh.uc
Normal file
30
UnrealEd/Classes/GenericBrowserType_FracturedStaticMesh.uc
Normal file
@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_FracturedStaticMesh: Fractured Static Meshes
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_FracturedStaticMesh
|
||||
extends GenericBrowserType_StaticMesh
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Fractured Static Meshes"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_InstancedFoliageSettings: InstancedFoliageSettings
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_InstancedFoliageSettings
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Instanced Foliage Settings"
|
||||
}
|
20
UnrealEd/Classes/GenericBrowserType_LandscapeLayer.uc
Normal file
20
UnrealEd/Classes/GenericBrowserType_LandscapeLayer.uc
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_LandscapeLayer: LandscapeLayer
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_LandscapeLayer
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Landscape Layers"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_LensFlare.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_LensFlare.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_LensFlare: LensFlare
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_LensFlare
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Lens Flares"
|
||||
}
|
38
UnrealEd/Classes/GenericBrowserType_Material.uc
Normal file
38
UnrealEd/Classes/GenericBrowserType_Material.uc
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_Material: Materials
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_Material
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& Objects );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
|
||||
/**
|
||||
* Callback to register whether or not the object should be displayed
|
||||
* @param InObject - object that will be displayed in the GB
|
||||
* @return TRUE if should be displayed
|
||||
*/
|
||||
static UBOOL ShouldDisplayCallback( UObject* InObject );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Materials"
|
||||
}
|
38
UnrealEd/Classes/GenericBrowserType_MaterialFunction.uc
Normal file
38
UnrealEd/Classes/GenericBrowserType_MaterialFunction.uc
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_MaterialFunction: Material Functions
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_MaterialFunction
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& Objects );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
|
||||
/**
|
||||
* Callback to register whether or not the object should be displayed
|
||||
* @param InObject - object that will be displayed in the GB
|
||||
* @return TRUE if should be displayed
|
||||
*/
|
||||
static UBOOL ShouldDisplayCallback( UObject* InObject );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="MaterialFunctions"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_MaterialInstance: Material Instances
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_MaterialInstanceConstant
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Material Instances (Constant)"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_MaterialInstance: Material Instances
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_MaterialInstanceTimeVarying
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Material Instances (Time Varying)"
|
||||
}
|
27
UnrealEd/Classes/GenericBrowserType_MorphTargetSet.uc
Normal file
27
UnrealEd/Classes/GenericBrowserType_MorphTargetSet.uc
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//-----------------------------------------------------------
|
||||
// Browser type for morph target sets
|
||||
//-----------------------------------------------------------
|
||||
class GenericBrowserType_MorphTargetSet extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Morph Target Sets"
|
||||
}
|
19
UnrealEd/Classes/GenericBrowserType_MorphWeightSequence.uc
Normal file
19
UnrealEd/Classes/GenericBrowserType_MorphWeightSequence.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//-----------------------------------------------------------
|
||||
// Browser type for morph weight sequence
|
||||
//-----------------------------------------------------------
|
||||
class GenericBrowserType_MorphWeightSequence extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Morph Target Weights"
|
||||
}
|
31
UnrealEd/Classes/GenericBrowserType_ParticleSystem.uc
Normal file
31
UnrealEd/Classes/GenericBrowserType_ParticleSystem.uc
Normal file
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_ParticleSystem: ParticleSystems
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_ParticleSystem
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Particle Systems"
|
||||
}
|
19
UnrealEd/Classes/GenericBrowserType_PhysXParticleSystem.uc
Normal file
19
UnrealEd/Classes/GenericBrowserType_PhysXParticleSystem.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
*
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class GenericBrowserType_PhysXParticleSystem
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor(UObject *InObject);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description = "PhysX Particle Systems"
|
||||
}
|
21
UnrealEd/Classes/GenericBrowserType_PhysicalMaterial.uc
Normal file
21
UnrealEd/Classes/GenericBrowserType_PhysicalMaterial.uc
Normal file
@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_PhysicalMaterial: Physical properties of a material
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_PhysicalMaterial
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Physical Materials"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_PhysicsAsset.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_PhysicsAsset.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_PhysicsAsset: PhysicsAssets
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_PhysicsAsset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Physics Assets"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_PostProcess.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_PostProcess.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_PostProcess: Animation Blend Trees
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_PostProcess
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Post-Process Chains"
|
||||
}
|
19
UnrealEd/Classes/GenericBrowserType_Prefab.uc
Normal file
19
UnrealEd/Classes/GenericBrowserType_Prefab.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//-----------------------------------------------------------
|
||||
// Browser type for prefabs
|
||||
//-----------------------------------------------------------
|
||||
class GenericBrowserType_Prefab extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
Description="Prefabs"
|
||||
}
|
22
UnrealEd/Classes/GenericBrowserType_ProcBuildingRuleset.uc
Normal file
22
UnrealEd/Classes/GenericBrowserType_ProcBuildingRuleset.uc
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_ProcBuildingRuleset
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_ProcBuildingRuleset
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="ProcBuilding Ruleset"
|
||||
}
|
30
UnrealEd/Classes/GenericBrowserType_RenderTexture.uc
Normal file
30
UnrealEd/Classes/GenericBrowserType_RenderTexture.uc
Normal file
@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_RenderTexture: Render target textures
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_RenderTexture
|
||||
extends GenericBrowserType_Texture
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Render Target Textures"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_Sequence.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_Sequence.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_Sequence: Sequences
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_Sequence
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
|
||||
/**
|
||||
* Determines whether the specified object is a USequence class that should be handled by this generic browser type.
|
||||
*
|
||||
* @param Object a pointer to a USequence object.
|
||||
*
|
||||
* @return TRUE if this generic browser type supports to object specified.
|
||||
*/
|
||||
static UBOOL IsSequenceTypeSupported( UObject* Object );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Sequences"
|
||||
}
|
31
UnrealEd/Classes/GenericBrowserType_SkeletalMesh.uc
Normal file
31
UnrealEd/Classes/GenericBrowserType_SkeletalMesh.uc
Normal file
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_SkeletalMesh: SkeletalMeshs
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_SkeletalMesh
|
||||
extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL ShowObjectEditor( UObject* InObject );
|
||||
|
||||
/**
|
||||
* Returns a list of commands that this object supports (or the object type supports, if InObject is NULL)
|
||||
*
|
||||
* @param InObjects The objects to query commands for (if NULL, query commands for all objects of this type.)
|
||||
* @param OutCommands The list of custom commands to support
|
||||
*/
|
||||
virtual void QuerySupportedCommands( class USelection* InObjects, TArray< FObjectSupportedCommandType >& OutCommands ) const;
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Skeletal Meshes"
|
||||
}
|
22
UnrealEd/Classes/GenericBrowserType_SoundClass.uc
Normal file
22
UnrealEd/Classes/GenericBrowserType_SoundClass.uc
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_SoundClass: Sound classes
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_SoundClass
|
||||
extends GenericBrowserType_Sounds
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL NotifyPreDeleteObject( UObject* ObjectToDelete );
|
||||
virtual void NotifyPostDeleteObject();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Sound Classes"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_SoundCue.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_SoundCue.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_SoundCue: SoundCues
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_SoundCue
|
||||
extends GenericBrowserType_Sounds
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init( void );
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command for every selected object
|
||||
* of a supported class.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
* @param InObjects The objects to invoke the command against
|
||||
*/
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Sound Cues"
|
||||
}
|
22
UnrealEd/Classes/GenericBrowserType_SoundMode.uc
Normal file
22
UnrealEd/Classes/GenericBrowserType_SoundMode.uc
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_SoundMode: Sound modes
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_SoundMode
|
||||
extends GenericBrowserType_Sounds
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
virtual UBOOL NotifyPreDeleteObject( UObject* ObjectToDelete );
|
||||
virtual void NotifyPostDeleteObject();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Sound Modes"
|
||||
}
|
29
UnrealEd/Classes/GenericBrowserType_SoundWave.uc
Normal file
29
UnrealEd/Classes/GenericBrowserType_SoundWave.uc
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
//=============================================================================
|
||||
// GenericBrowserType_SoundWave: SoundWaves
|
||||
//=============================================================================
|
||||
|
||||
class GenericBrowserType_SoundWave
|
||||
extends GenericBrowserType_Sounds
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init( void );
|
||||
|
||||
/**
|
||||
* Invokes a custom menu item command for every selected object
|
||||
* of a supported class.
|
||||
*
|
||||
* @param InCommand The command to execute
|
||||
* @param InObjects The objects to invoke the command against
|
||||
*/
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Sound Wave Data"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user