DirPlayer is a Shockwave Player emulator written in Rust that aims to make playing old browser games possible on modern browsers.
Check out a live demo of this project at http://dirplayer-rs.s3-website-us-west-2.amazonaws.com/
Download the Chrome Extension at https://chromewebstore.google.com/detail/dirplayer-shockwave-emula/gpgalkgegfekkmaknocegonkakahkhbc
The extension implements a polyfill that replaces all <embed>
elements that point to a Shockwave file in websites you visit.
- NodeJS
- RustLang
- wasm-pack
Note
Before we can start, we need to load the missing modules for NodeJS with the npm install
command.
Windows users can use our scripts which are located in the scripts
folder and end with .bat
.
- Build Rust VM with
scripts/build-vm.bat
- Build extension with
scripts/build-extension.bat
- Run locally with
scripts/run.bat
npm run build-vm
npm run build-extension
Make sure to build the VM first. The bundled extension will be located in ./dist-extension
.
You can install the local build by going to chrome://extensions
, enabling Developer Mode, then clicking the Load unpacked
button.
Note that the extension is currently only available on Chrome.
npm run start
If you have any questions or you're interested in being part of the discussions of this project, please join our Discord!
This project would have not been possible without the extensive work of the Shockwave reverse engineering community.
A lot of code has been reproduced from the following projects:
https://github.com/Earthquake-Project/Format-Documentation/
https://github.com/Brian151/OpenShockwave/
https://gist.github.com/MrBrax/1f3ae06c9320863f1d7b79b988c03e60