Files
FC1/ResourceCompiler/ConvertContext.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

84 lines
2.3 KiB
C

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: convertcontext.h
// Version: v1.00
// Created: 4/11/2002 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __convertcontext_h__
#define __convertcontext_h__
#pragma once
#include "PathUtil.h"
struct IResourceCompiler;
struct IConfig;
struct IRCLog;
struct ICfgFile;
/** Enumeration of supported platforms.
*/
enum Platform
{
PLATFORM_UNKNOWN, //!< Unknown platform.
PLATFORM_PC,
PLATFORM_XBOX,
PLATFORM_PS2,
PLATFORM_GAMECUBE,
// This entry must be last in Platform enum.
PLATFORM_LAST,
};
/** ConvertContext is a description of what should be processed by convertor.
*/
struct ConvertContext
{
// this string must be prepended to all paths (it's with the trailing slash)
CString masterFolder;
//! Source file that needs to be converted.
CString sourceFile;
//! Output file that would be created from sourceFile. (relative or absolute)
CString outputFile;
CString getSourcePath() {return masterFolder + Path::Make(sourceFolder,sourceFile);}
CString getOutputPath() {return masterFolder + Path::Make(outputFolder,outputFile);}
CString getOutputFolderPath(){return masterFolder + outputFolder;}
//! Source file folder, so that the source file can be opened regardless whether the
//! path is given in sourceFile or not
CString sourceFolder;
//! Output folder
CString outputFolder;
//! Pointer to resource compiler interface.
IResourceCompiler *pRC;
//! Configuration settings for this file.
IConfig *config;
//! Returns the log to put the messages during conversion to:
//! use Log(), LogWarning() and LogError()
IRCLog *pLog;
//! Dont log much info into log.
bool bQuiet;
//! file specific config file, must not be 0 (if there was no file, a empty instace with the right filename is created)
ICfgFile *pFileSpecificConfig;
//! presets config (for use with the image compiler)
ICfgFile *presets;
//! Platform to which file must be processed.
Platform platform;
};
#endif // __convertcontext_h__