upload
This commit is contained in:
19
GFxUIEditor/Classes/GFxImportCommandlet.uc
Normal file
19
GFxUIEditor/Classes/GFxImportCommandlet.uc
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
class GFxImportCommandlet extends Commandlet
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual INT Main(const FString& Params);
|
||||
}
|
||||
|
||||
/**
|
||||
* A utility that imports and/or re-imports SWF assets
|
||||
*
|
||||
* @param Params the string containing the parameters for the commandlet
|
||||
*/
|
||||
event int Main(string Params);
|
||||
|
167
GFxUIEditor/Classes/GFxMovieFactory.uc
Normal file
167
GFxUIEditor/Classes/GFxMovieFactory.uc
Normal file
@ -0,0 +1,167 @@
|
||||
/**********************************************************************
|
||||
|
||||
Filename : GFxMovieFactory.uc
|
||||
Content : GFx Movie Factory integration class
|
||||
|
||||
Copyright : (c) 2006-2007 Scaleform Corp. All Rights Reserved.
|
||||
|
||||
Portions of the integration code is from Epic Games as identified by Perforce annotations.
|
||||
Copyright 2010 Epic Games, Inc. All rights reserved.
|
||||
|
||||
Notes : Since 'ucc' will prefix all class names with 'U'
|
||||
there is not conflict with GFx file / class naming.
|
||||
|
||||
Licensees may use this file in accordance with the valid Scaleform
|
||||
Commercial License Agreement provided with the software.
|
||||
|
||||
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
|
||||
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
class GFxMovieFactory extends Factory
|
||||
dependson(Factory)
|
||||
dependson(SwfMovie)
|
||||
inherits(FReimportHandler)
|
||||
native
|
||||
transient;
|
||||
|
||||
var(Import) editconst bool bSetSRGBOnImportedTextures;
|
||||
var(Import) bool bPackTextures;
|
||||
var(Import) int PackTextureSize <editcondition=bPackTextures | ClampMin=256 | Multiple=32>;
|
||||
var(Import) bool bForceSquarePacking <editcondition=bPackTextures>;
|
||||
var(Import) FlashTextureRescale TextureRescale;
|
||||
var(Import) editconst string TextureFormat;
|
||||
|
||||
cpptext
|
||||
{
|
||||
UObject* FactoryCreateBinary(UClass* InClass,
|
||||
UObject* InOuter,
|
||||
FName InName,
|
||||
EObjectFlags InFlags,
|
||||
UObject* Context,
|
||||
const TCHAR* Type,
|
||||
const BYTE*& Buffer,
|
||||
const BYTE* BufferEnd,
|
||||
FFeedbackContext* Warn);
|
||||
|
||||
UBOOL Reimport(UObject* InObject);
|
||||
|
||||
#if WITH_GFx
|
||||
/**
|
||||
* Parses the Swf data in the movie and locates all the import tags.
|
||||
* Each import tag is translated to a "weak referece" (i.e. a UE3 fullpath pointing at a SwfMovie.)
|
||||
* All weak references are added to the ReferencedSwfs property of the USwfMovie being imported.
|
||||
*
|
||||
* @param MovieInfo The SwfMovie being imported; its contents will be parsed for references to other Swfs.
|
||||
* @param OutMissingRefs A list of references to Swfs that we failed to convert to full UE3 references (used for error reporting only)
|
||||
*/
|
||||
static void CheckImportTags(USwfMovie* SwfMovie, TArray<FString>* OutMissingRefs, UBOOL bAddFonts = FALSE);
|
||||
|
||||
/**
|
||||
* Utility class with lots of useful info for importing a SWF.
|
||||
* It can be constructed given a SWF file path. See constructor for more details.
|
||||
*/
|
||||
struct SwfImportInfo
|
||||
{
|
||||
/**
|
||||
* Given a path, ensure that this path uses only the approved PATH_SEPARATOR.
|
||||
* If this path is relative, the optional ./ at the beginning is removed.
|
||||
*
|
||||
* @param InPath Path to canonize
|
||||
*
|
||||
* @return The canonical copy of InPath.
|
||||
*/
|
||||
static FString EnforceCanonicalPath(const FString& InPath);
|
||||
|
||||
/**
|
||||
* Given a path to a SWF file (either an absolute path or a path relative to the game's Flash/ directory)
|
||||
* fill out all the struct's members. See member description for details.
|
||||
*/
|
||||
SwfImportInfo( const FString& InSwfFile );
|
||||
|
||||
/** The absolute path to swf including the filename */
|
||||
FFilename AbsoluteSwfFileLocation;
|
||||
|
||||
/** The asset name of the SwfMovie. This will be the same as the filename but without the .SWF extension */
|
||||
FString AssetName;
|
||||
|
||||
/** UE3 Path to the asset not including the actual asset name. E.g. Package.Group0.Group1 */
|
||||
FString PathToAsset;
|
||||
|
||||
/** The name of the outermost package into which this asset should be imported */
|
||||
FString OutermostPackageName;
|
||||
|
||||
/** The group only portion of the path. E.g. If the fullpath is Package.Group0.Group1.Asset, then this field is just Group0.Group1 */
|
||||
FString GroupOnlyPath;
|
||||
|
||||
/** Is it OK to import this swf? */
|
||||
UBOOL bIsValidForImport;
|
||||
};
|
||||
|
||||
/** Return the Flash/ directory for this game. E.g. d:/UE3/UDKGame/Flash/ */
|
||||
static FString GetGameFlashDir();
|
||||
|
||||
private:
|
||||
UObject* CreateMovieGFxExport(UObject* InParent, FName Name, const FString& OriginalSwfPath, EObjectFlags Flags, const BYTE* Buffer, const BYTE* BufferEnd,
|
||||
const FString& GFxExportCmdline, FFeedbackContext* Warn);
|
||||
#endif
|
||||
|
||||
private:
|
||||
UBOOL RunGFXExport( const FString& strCmdLineParams, FString* OutGfxExportErrors );
|
||||
UObject* BuildPackage(const FString& strInputDataFolder, const FString& strSwfFile, const FString& OriginalSwfLocation,
|
||||
const FName& Name, UObject* InOuter, EObjectFlags Flags, FFeedbackContext* Warn);
|
||||
|
||||
/**
|
||||
* Attempt to locate the directory with original resources that were imported into the .FLA document.
|
||||
* Given the SwfLocation, GfxExport will search for original files in the SWF's sibling directory
|
||||
* with the same name as the SWF.
|
||||
* E.g. If we have a c:\Art\SWFName.swf and it uses SomePicture.TGA, then we tell GfxExport to
|
||||
* look for c:\Art\SWFName\SomePicture.PNG.
|
||||
*
|
||||
* @param InSwfLocation The location of the SWF; original resources are searched relative to the SWF.
|
||||
*
|
||||
* @return A directory where the original images used in this SWF are found.
|
||||
*/
|
||||
static FString GetOriginalResourceDir( const FString& InSwfPath );
|
||||
|
||||
/**
|
||||
* Function that is used to modify textures on import. This should be extended
|
||||
* where possible to set correct texture compression values, etc, for the different
|
||||
* platforms based on the texture data.
|
||||
*
|
||||
* @param strTextureFileName - the file path of the texture being imported
|
||||
* @param pTexture - the Texture object to be modified
|
||||
*/
|
||||
void FixupTextureImport(UTexture2D* pTexture, const FString& strTextureFileName);
|
||||
|
||||
/**
|
||||
* Deletes a folder and all of its contents.
|
||||
*/
|
||||
UBOOL DeleteFolder(const FString& strFolderPath);
|
||||
|
||||
void GetAllFactories(TArray<UFactory*> &factories);
|
||||
UFactory *FindMatchingFactory(TArray<UFactory*> &factories, const FString &fileExtension);
|
||||
|
||||
}
|
||||
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
//base factory members
|
||||
bEditorImport=true
|
||||
SupportedClass=class'SwfMovie'
|
||||
|
||||
Description="SWF Movie";
|
||||
Formats.Add("swf;SWF Movie");
|
||||
Formats.Add("gfx;SWF Movie (stripped)");
|
||||
|
||||
bSetSRGBOnImportedTextures=false
|
||||
|
||||
TextureRescale=FlashTextureScale_Mult4
|
||||
bPackTextures=false
|
||||
PackTextureSize=1024
|
||||
bForceSquarePacking=false
|
||||
TextureFormat="TGA"
|
||||
}
|
30
GFxUIEditor/Classes/GFxReimportCommandlet.uc
Normal file
30
GFxUIEditor/Classes/GFxReimportCommandlet.uc
Normal file
@ -0,0 +1,30 @@
|
||||
/**********************************************************************
|
||||
|
||||
Copyright : (c) 2006-2007 Scaleform Corp. All Rights Reserved.
|
||||
|
||||
Portions of the integration code is from Epic Games as identified by Perforce annotations.
|
||||
Copyright 2010 Epic Games, Inc. All rights reserved.
|
||||
|
||||
Licensees may use this file in accordance with the valid Scaleform
|
||||
Commercial License Agreement provided with the software.
|
||||
|
||||
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
|
||||
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
class GFxReimportCommandlet extends Commandlet
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual INT Main(const FString& Params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-imports assets found in specified packages, or all packages if no arguments are specified.
|
||||
*
|
||||
* @param Params the string containing the parameters for the commandlet
|
||||
*/
|
||||
event int Main(string Params);
|
||||
|
41
GFxUIEditor/Classes/GenericBrowserType_GFxMovie.uc
Normal file
41
GFxUIEditor/Classes/GenericBrowserType_GFxMovie.uc
Normal file
@ -0,0 +1,41 @@
|
||||
/**********************************************************************
|
||||
|
||||
Filename : GenericBrowserType_GFxMovie.uc
|
||||
Content : Generic browser for
|
||||
|
||||
Copyright : (c) 2006-2007 Scaleform Corp. All Rights Reserved.
|
||||
|
||||
Portions of the integration code is from Epic Games as identified by Perforce annotations.
|
||||
Copyright 2010 Epic Games, Inc. All rights reserved.
|
||||
|
||||
Notes : Since 'ucc' will prefix all class names with 'U'
|
||||
there is not conflict with GFx file / class naming.
|
||||
|
||||
Licensees may use this file in accordance with the valid Scaleform
|
||||
Commercial License Agreement provided with the software.
|
||||
|
||||
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
|
||||
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
class GenericBrowserType_GFxMovie extends GenericBrowserType
|
||||
native;
|
||||
|
||||
cpptext
|
||||
{
|
||||
virtual void Init();
|
||||
|
||||
virtual UBOOL ShowObjectEditor();
|
||||
virtual UBOOL ShowObjectEditor(UObject* InObject);
|
||||
|
||||
virtual void InvokeCustomCommand( INT InCommand, TArray<UObject*>& InObjects );
|
||||
virtual void QuerySupportedCommands( USelection* InObjects, TArray<FObjectSupportedCommandType>& OutCommands ) const;
|
||||
virtual void DoubleClick();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
Description="Swf Movies"
|
||||
}
|
Reference in New Issue
Block a user