X-Ray SDK 0.7

Software Development Kit for X-Ray 1.6 engine (S.T.A.L.K.E.R.: Call of Pripyat).

Full version. Allows you to work with modifications of any complexity, up to total conversion with completely new content. The following are the major changes compared to previous versions of SDKs.

--------------------------------------------

1. Contents 

As opposed to the CS SDK v0.5, designed exclusively for use with multiplayer levels and containing only LevelEditor with major compilers, this SDK v0.7 contains a complete set of tools, latest versions:

- ActorEditor
- LevelEditor
- ParticleEditor
- ShaderEditor
- Postprocess
- DialogEditor
- ScriptDebugger

And the compilers:

- XrAI
- XrDO
- XrLC (+ coordinator + agent)

--------------------------------------------

2. Changes to the compilers

--------------------------------------------

2.1. General changes

The new version compilers have improved support of multi-threaded performance on multicore processors, and they use up to 4GB of memory (for comparison: the CS compilers, though supporting 4 cores, had not yet have large memory addressing implemented, while in SHoC only one thread was used) .
The compilation speed at full load, respectively, may increase up to two times compared to the CS.

It is also worth noting that due to the compiler's inability to address more than 2GB of RAM mod-makers have faced a nubmer of constraints:
the maximum size of ai-nets (and hence the size of a playable level area)
and the maximum number of vertices - while the game could keep up the level without any problems.

Of course, this does not mean you should start making levels of 5x5km or 20 million polygons, but this time you should have no situations where the engine could  operate with a level, but the compiler is unable to compile it due to memory overflow errors.

It should be mentioned all the SDK editors have been made to run under Windows Vista and Windows 7 now.

--------------------------------------------

2.2. Network Compilation

An important innovation - the possibility of compiling a level on multiple computers simultaneously.

It is executed by xrLC and additional applications. One computer acts as the "coordinator", the others as "agents" working with certain tasks.

For your quick-start with the SDK, the already customized executable files have been included. You need only to specify the level name and the IP of your coordinating computer.

The reason for using such a compilation is clear - it allows you to compile complex levels with very high quality settings for much less time than on a single PC. Of course, since the SHoC xrLC, which took up to a week's time to assemble a large level in high quality, the speed of the compiler has increased up to four times, but the compilation time still cannot be called "fast".

--------------------------------------------

3. Changes in applications

--------------------------------------------

3.1. General changes

There are no drastic changes here - the engine was not created yesterday and most of the tools have been suitable for use in unmodified condition for years now. The key point is that all tools are present in full, and are compatible with the latest versions of the formats used in X-Ray 1.6 (COP).

Differences worth mentioning separately can be seen as compared to the SDK 0.5 (CS), so as to the SDK 0.4 (SHoC), since the CS SDK had a number of tools missing.

--------------------------------------------

3.2. LevelEditor

Move tool has been improved: now it does not require switching to the desired axis to move an object: the object displays controllers you can simply pull by with the cursor.

There appeared the previously absent possibility of using spawn element classes:

- Actor
- Camp
- Smart_terrain
- Smart_cover
... And the like

Thus, the SDK enables working with smartcovers (which, although they first appeared in CS, but were absent in its SDK) in particular, and signle player levels in general (available in the CS LE, but rather limited).

A number of obsolete spawn element classes removed, the classes used in CoP added.

The Simulate / UseSimulatePositions tool added, allowing testing physics directly in the editor.

For a number of spawn element  classes supporting  models are displayed, simplifying the work in situations when the scene contains many objects.

Listing minor changes makes little sense. Anyway, the LevelEditor contains everything needed to work with any level of tools.

--------------------------------------------

3.3. Postprocess

This is an application for creating and editing .ppe (postprotsess-effects) files. Simple enough to learn: seven classes of effects, a number of options in each, possibility to build sequences and other features.

Absent both in SHoC SDK and CS SDK.

--------------------------------------------

3.4. DialogEditor

This is an application for editing the game dialog in .xml format with support of conditions and checks: has_info, dont_has_info, give_info, disable_info, precondition, action.

--------------------------------------------

3.5 ScriptDebugger

Debugging Lua scripts, syntax checking, and their validity, supports Source Control Center.

--------------------------------------------

4. Compatibility

The format of the levels (except for data relating to xrAI), practically unchanged, so the results of xrLC can be used in CS. Of course, this only applies to the multiplayer maps or the use of geometry.

So, if you want to use SDK 0.7 to compile a single level of CS (eg, due to the speed of xrLC), it is possible - but, respectively, with xrAI from Clear Sky only.

The files, assembled with xrDO, are compatible as with COP, so as with SHoC and CS. The .thm files are compatible with all versions of the game up to SHoC v1.0004.

The skeletal objects file format - .ogf is the same in SHoC and CS - the results of work in ActorEditor can be used in both games.

--------------------------------------------

5. Acknowledgments

We thank all the fans of S.T.A.L.K.E.R. project for your keen interest in our game.

Special thanks to modmakers loxotron and BAC9-FLCL for the help in assembling this SDK.

--------------------------------------------
