PitchHut logo
Emulate Shockwave Player for modern browsers with Rust.
Pitch

DirPlayer is a Shockwave Player emulator built in Rust, designed to revive classic browser games in today's web environment. This project not only includes a standalone app for debugging Lingo scripts and Shockwave files but also a JavaScript polyfill that integrates seamlessly into any webpage.

Description

DirPlayer is an innovative Shockwave Player emulator developed in Rust, designed to enable users to enjoy classic browser games in modern web environments. This project not only provides compatibility for outdated Shockwave content but also enhances the user experience by bridging the gap between legacy technology and contemporary browsers.

Features

  • Live Demo: Experience a demonstration of DirPlayer at this link.
  • Chrome Extension: A Chrome extension is available for download from the Chrome Web Store. This extension automatically implements a polyfill that transforms <embed> tags pointing to Shockwave files on web pages you visit.
  • Standalone Application: DirPlayer includes a standalone application that serves as a comprehensive debugging toolset specifically for Lingo scripts and Shockwave files. Pre-built binaries can be found here.

Polyfill Integration

DirPlayer can be easily integrated as a standalone JavaScript polyfill into any webpage. The polyfill is encapsulated in a single, self-contained JavaScript file that includes the WebAssembly virtual machine and all necessary assets to function correctly.

Usage Instructions

Automatic Initialization:

<script src="dirplayer-polyfill.js"></script>

Manual Initialization:

<script src="dirplayer-polyfill.js" data-manual-init></script>
<script>
  DirPlayer.init();
</script>

The polyfill intelligently detects and substitutes <embed> and <object> elements that reference Shockwave .dcr files within web pages.

Requirements

To build and run DirPlayer, ensure you have the following tools installed:

Building the Project

For detailed instructions on building the multiple components of DirPlayer, refer to the provided scripts corresponding to your operating system. All necessary build commands and paths are clearly delineated in the README, enabling users to compile the Rust VM, Chrome extension, standalone app, and polyfill with ease.

Community and Support

Engagement in the project community is encouraged. For queries or discussions about DirPlayer, join the Discord channel.

Acknowledgements

DirPlayer is built upon the foundational contributions of the Shockwave reverse engineering community, with substantial code reused from various outstanding projects. The collaborative effort has been instrumental in realizing this emulator.

0 comments

No comments yet.

Sign in to be the first to comment.