/ProjectorRays

Decompiler for Macromedia Shockwave/Macromedia Director/Adobe Shockwave/Adobe Director

Primary LanguageC++GNU General Public License v3.0GPL-3.0

ProjectorRays Shockwave Decompiler

ProjectorRays is a decompiler for Adobe Shockwave and Adobe Director (formerly known as Macromedia Shockwave and Macromedia Director, and not to be confused with Shockwave Flash).

Director was released in 1987, and it quickly became the world's leading multimedia platform. Beginning in 1995, Director movies could be published as DCR files and played on the web with the Shockwave plugin. Over the years, the platform was used for countless CD-ROM and web games, before being fully discontinued in 2019.

Nowadays, Shockwave games are unplayable on the modern web, and their original source code is often lost or unavailable. ProjectorRays can take a published game, reconstruct its Lingo source code, and generate editable project files to aid preservation efforts.

If you have a DCR (published Shockwave movie) or DXR (protected Director movie), ProjectorRays can generate a DIR (editable Director movie).

If you have a CCT (published Shockwave cast) or CXT (protected Director cast), ProjectorRays can generate a CST (editable Director cast).

ProjectorRays is a work in progress. If you run into any issues, please report them on the issue tracker.

How do I use it?

Windows

Development builds are available on the releases page.

To use it, run projectorrays.exe INPUT_FILE OUTPUT_FILE. ProjectorRays will take the input file, unprotect/decompress it, restore its source code, and output it to the specified location. The outputted file can then be opened in Director.

*nix

Install Boost 1.72.0 or later, nlohmann JSON, mpg123, and zlib. Run make to build.

To use it, run ./projectorrays INPUT_FILE OUTPUT_FILE. ProjectorRays will take the input file, unprotect/decompress it, restore its source code, and output it to the specified location. The outputted file can then be opened in Director.

Credits

ProjectorRays is written by Deborah Servilla, based on the disassembler by Anthony Kleine.

This could not exist without the reverse-engineering work of the Earthquake Project, the Just Solve the File Format Problem wiki, and the ScummVM Director engine team.

The projector icon is by DangerouslySlowCat.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.