The CryENGINE folder structure
See the following table for an explanation of the CryENGINE folder structure:
Folder name |
Description |
---|---|
|
Contains all 32-bit executables and libraries used by the engine. |
|
Contains all 64-bit executables and libraries used by the engine. |
|
Editor configuration folder, contains common editor helpers, styles, and more. |
|
Used as a central folder for assets used by the engine itself, not any particular game. Shaders and configuration files are stored here. |
|
Each game contains a game folder, which includes all its assets, scripts, levels, and so on. Does not have to be named "Game", but is dependent on the value of the |
|
Contains localization assets such as localized sounds and text for each language. |
PAK files
The engine ships with the CryPak module, allowing for the storage of game content files in compressed or uncompressed archives. The archives use the .pak
file extension.
When game content is requested, the CryPak system will query through all found .pak
files in order to find the file.
File query priority
The PAK system prioritizes the files found in the loose folder structure over those in PAK, except when the engine was compiled in RELEASE mode. When that is the case, the file stored in a PAK system is preferred over the loose one.
If the file exists in multiple .pak
archives, the one with the most recent filesystem creation date is used.
Attaching the debugger
Visual Studio allows you to attach the Debugger to your application. This allows you to use functionalities such as breakpoints; letting you stop at a specific line in your C++ source code, and step through the program execution.
To start debugging, open CE Game Programming Sample.sln
and press F5, or click on the green play icon on the Visual Studio toolbar. If a No debug symbols could be found for Editor.exe message box appears, simply click on OK.
What just happened?
The CryENGINE Sandbox editor should now have started, with the Visual Studio Debugger attached. We can now place breakpoints in code, and watch program execution pause when that specific line of code is executed.