Awesome
DirPlayer
DirPlayer is a Shockwave Player emulator written in Rust that aims to make playing old browser games possible on modern browsers.
Demo
Check out a live demo of this project at http://dirplayer-rs.s3-website-us-west-2.amazonaws.com/
Chrome Extension
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.
Requirements
- NodeJS
- RustLang
- wasm-pack
Building
[!NOTE]
Before we can start, we need to load the missing modules for NodeJS with thenpm install
command.
🪟 Windows
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
🐧 Other platforms
Building Rust VM
npm run build-vm
Building extension
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.
Running locally
npm run start
Join our Discord!
If you have any questions or you're interested in being part of the discussions of this project, please join our Discord!
Acknowledgements
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