Skip to content

Tool: wsd.exe

Robert Jordan edited this page Sep 23, 2020 · 2 revisions

Tool: wsd.exe

The graphical interface tool wsd is used to compile WSS Particle (.kcs) scripts, and possibly other KCS Script formats. It is available in many of the publicly released CatSystem2 toolsets.

🚧 This page is a work in progress

Usage

The program's general usage is similar to that of a lightweight IDE. Includes projects, compiling, running, debug/release mode. And viewing variables.

(The project file format is stored in binary)

About scripts

Uses script file formats .h, .def, and .wss and compiled into .kcs binary scripts.

.def files are also included just like .h header files, and contain global definitions and API function exports using the custom global keyword.

Preprocessor additions

Additional preprocessor keywords include #main "str" and #version majorint minorint, seen near the top of global include header files.

Notes

Available files follow very closely to C language syntaxes (with some conveniences of C++ like excluding void from empty function parameters)

Existing .wss script files look like a shader language, it's unclear if KCS scripts look similar (like ones used for general engine functions).

Reversing

There is HUGE potential for reversing the KCS Script format through wsd, as debug mode-compiled scripts can easily be diff'ed with small code changes to see how the binary data changes.

This has been proven by changing one >= to > and exactly one byte in the (zlib decompressed) script changing, the byte for the comparison opcode. The expected uint32 integer literal in the comparison was also seen in full little-endian format a few bytes after the opcode.

See also

External links


Todo:

  • Add images
  • Add UI translation
  • List locale requirements
Clone this wiki locally