Структура каталогов CryENGINE

Материал из CryWiki Russia

Перейти к: навигация, поиск
Эта страница страница помечена как находящиеся в процессе перевода с: 16 июня 2012.
Статью пометил сам автор статьи.


Содержание

Root directory

The root directory of CryENGINE has several sub-folders that are shortly explained in this document. Furthermore, it can contain the configuration files system.cfg and systemcfgoverride.cfg which are used to configure console variable settings.

Multiple log files will be written in the root directory.

Bin32 and Bin64

The Bin32 and Bin64 directories contain the 32 bit and 64 bit Sandbox executables (Editor.exe), the game launcher (Launcher.exe), and all required engine DLL’s.

  • Bin32\rc: The Bin32 directory also contains a subdirectory called rc. The Using the Resource Compiler (RC) can be called by the engine on demand to transform source assets to an optimized format (e.g. TIF textures to DDS). There is no 64bit version of the Resource Compiler.

Code

All C++ source code as well as solution and project files are located in the Code directory. The main solution of the engine is Code/Solutions/CryEngine.sln or Code/Solutions/CryEngineGfx.sln, depending on whether you have an SDK with support for Scaleform or not.

For more information on the source code, please see Getting Started with Game Code.

Editor

The Editor folder contains resources that are used by Sandbox, like icons and other UI data, settings and templates.

When redistributing a stand-alone application or game using CryENGINE, it is not needed to redistribute the Editor directory.

Engine

The Engine directory has many redistributable files which are required by the Renderer and other systems. With CryENGINE 2 these files were stored in the Game directory, but this was moved to one central directory for simplifying maintenance when using multiple Game directories.

  • Engine\Config: Configuration in text files to set the different engine settings for low/high PC settings, consoles.
  • Engine\Fonts: Default TrueType font used by the engine (i.e. the in-game console).
  • Engine\Shaders: All the shader source and binary.
  • Engine\Shaders\EngineAssets: Basic materials and textures required by the shaders.

Game

All game specific data and assets are usually stored in the Game directory. It is possible to change the name of the game folder or have several game folders at the same time in a single CryENGINE root directory. The game folder and game DLL to be used can be configured with the console variables sys_game_folder and sys_dll_game that can be set in the system.cfg. Please see Смена папки игры for more information.

  • Game\Animations: Animation assets and Animation Graph files.
  • Game\Entities: .ent files which instruct the Entity System about which script entity class should be registered.
  • Game\Levels: All the game levels should be in this directory.
  • Game\Libs: Multiple data files to support different game systems.
  • Game\Fonts: Optional TrueType fonts used by the game.
  • Game\Materials: Global XML Material files used by levels.
  • Game\Music: Music assets.
  • Game\Objects: All the static objects and skinned characters along with materials and textures required by them.
  • Game\Prefabs: XML Prefabs files created in Sandbox.
  • Game\Scripts: Lua scripts for Script Entity classes, AI and different game systems.
  • Game\Sounds: All sounds assets.
  • Game\Textures: All other textures required by levels or other textures re-used by multiple objects.

Game\Libs

  • Game\Libs\ActionGraphs: Flowgraph saved in .xml format to be used with the AI System.
  • Game\Libs\AnimationGraphTemplates: Templates used by the Animation Graphs that allows special interaction.
  • Game\Libs\Clouds: Data used for clouds generation.
  • Game\Libs\Communication: .xml files used to implement the different in-game dialogs.
  • Game\Libs\Config: Default action maps templates.
  • Game\Libs\EntityArchetypes: Entity archetypes libraries; used to specify predefined entity parameters or to provide new alias names to existing entity classes.
  • Game\Libs\EquipmentPacks: Pre-defined sets equipments used by actors on level startup.
  • Game\Libs\FlowgraphModules:*Game\Libs\FlowNodes: Flowgraphs templates.
  • Game\Libs\GameAudio:*Game\Libs\GameForceFeedback:*Game\Libs\GameTokens: Used by the GameTokens system to maintain persistent values across multiple levels.
  • Game\Libs\HitDeathReactionsData:*Game\Libs\MaterialEffects: Material Effect library.
  • Game\Libs\MusicLogic:*Game\Libs\Particles: Particle Effect library.
  • Game\Libs\Readability:*Game\Libs\ReverbPresets:*Game\Libs\Sky:*Game\Libs\SmartObjects: SmartObject templates.
  • Game\Libs\SoundMoods:*Game\Libs\UI:

Game\Scripts

  • Game\Scripts\AI: Scripts needed by the AI system, including behavior scripts and goal pipes.
  • Game\Scripts\Entities: Script based entity class.
  • Game\Scripts\Expressions:*Game\Scripts\FlowNodes:*Game\Scripts\GameRules: Script side implementations for the GameRules.
  • Game\Scripts\Network: .xml data to support the network system; including scheduler and compression policies defined for the entity classes.
  • Game\Scripts\Utils: General purpose script functions for math operations, etc.

Pak Files

It is possible to store most of the content of the Game inside Pak files. The only exceptions are level files which should be stored outside of the Pak files.

It is recommended to use the Resource Compiler to generate Pak files. The RC Jobs can used to automate this process along with converting intermediate files to optimized platform specific files. The Compiling Assets for Multiple Platforms document explain this process.

TestResults

This folder is used to place user-generated files that may be created when using console commands like SaveLevelStats.

Tools

Multiple stand-alone tools and exporters for CryENGINE can be found in the \Tools directory. When redistributing a stand-alone application or game using CryENGINE, it is not needed to redistribute the \Tools directory.

User

This directory is creating during run-time to store files generated by CryENGINE or Sandbox. This include User profiles, compiled shader combination and some temporary files created by Sandbox. It’s safe to delete this directory when CryENGINE is not running.