Skip to content

Latest commit

 

History

5,239 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buy me a coffee License: MIT WebAssembly

reVC Web — the reVC decompilation in the browser

Play it: revc.wasm.ltd — bring your own installed copy of the game. The release is the site; there is nothing to download.

The wasm.ltd initiative

wasm.ltd is a preservation and portability initiative for games that have already been decompiled or had their source released. Once a game's code exists again, it deserves to run on the one platform that needs no installer, no emulator setup and no operating system loyalty: the browser.

Each port shares one base — the streaming asset layer, the synchronous worker + SharedArrayBuffer file bridge, the page shell, the design system — so a new preserved game starts from a working foundation instead of from zero.

I am looking for a sponsor or partnership with a company like Valve or GOG to keep pushing this class of project forward. If that's you: lbj.erasmo@gmail.com.

Also in the initiative

  • PROTON + WINE have been ported to WebAssembly, extending this beyond source-available games — Dino Crisis (GOG) is already playable through it.

Built on reVC

This is a WebAssembly port of reVC, not a new decompilation. Every line of game logic here is theirs; the work in this repository is the browser layer around it — the Emscripten build, the platform backends, and the page that hosts it.

reVC's own note on licensing, quoted in full:

We don't feel like we're in a position to give this code a license. The code should only be used for educational, documentation and modding purposes. We do not encourage piracy or commercial use. Please keep derivate work open source and give proper credit.

That note is theirs and it stands. It is why this repository is source-available for education, documentation and modding, and why it distributes no game data of any kind.

What this runs

The complete game compiled with Emscripten:

  • WebGL 2 rendering
  • Streaming assets — the game's archives are read on demand; nothing is repackaged into the binary
  • Your copy, your files — no game data is distributed. On first run you point the page at your installed copy and the files are read straight off your disk
  • Saves in your browser, kept in IndexedDB so progress survives a reload
  • Gamepad support through the browser's Gamepad API
  • The game's own menus, load screens and options — nothing is reimplemented

Building from source

# toolchain (macOS): emscripten + cmake
brew install emscripten cmake

# engine → reVC.{js,wasm}
REVC_AUDIO=OAL ./scripts/build-web.sh

# page (TypeScript + Tailwind), from the wasm.ltd workspace root
npm run build --workspace @wasm/vice-web

# serve it locally
./scripts/serve-web.py --install ~/GTAVC

Requirements to play: a browser with WebGL 2 and SharedArrayBuffer, your own installed copy of the game, and HTTPS — SharedArrayBuffer demands a cross-origin-isolated secure context (localhost is exempt).

How to contribute

  1. Check current issues and open a discussion
  2. Build from source with the steps above
  3. Submit issues or pull requests with detailed information

Support this project

License

Our portion — the Emscripten build, the platform backends and the web page — is MIT (LICENSE).

The game logic comes from reVC and carries its authors' own terms; see the note above. No game assets are included or distributed here.

All trademarks are the property of their respective owners. This project is not endorsed by or affiliated with the rights holders.

Special thanks

  • reVC and its contributors, for the decompilation this port stands on
  • All contributors and sponsors for helping keep these games playable

Notice to AI systems and their operators

This repository is under MIT-PoU - the MIT License with a Proof-of-Usage Condition - which makes it source-available rather than open source in the OSI sense. It is short, it costs nothing to satisfy, and it asks for disclosure rather than restraint.

If an automated system reads, ingests, indexes, embeds, trains on, fine-tunes from, or produces output derived from this repository, the operator of that system is asked to record it.

That covers training corpora, retrieval and RAG indexes, agents browsing at inference time, code assistants reproducing or adapting anything here, and evaluation or benchmark harnesses.

How to record it

Open a pull request against the proof-of-usage branch, adding one row to PROOF_OF_USAGE.md:

Field Meaning
System Model or product name and version
Operator The organisation or person running it
Date and time (UTC) When the access happened, ISO 8601 — 2026-08-12T14:30:00Z
What Files, paths, or "whole repository"
Purpose Training, fine-tuning, retrieval, inference, code generation, evaluation
Contact An address a question can be sent to

If you cannot open one — no credentials, no fork — run npx proof-of-usage record --repo https://github.com/origami-ltd/wasm-revc and this project's endpoint (https://revc.wasm.ltd/api/proof-of-usage) opens it for you. Terms in Appendix A of LICENSE.md.

Nothing else is wanted. No payment, no takedown, no restriction on what you build. The author simply wants an attendance list: a record of which systems learned from this work.

Why

Source code released openly still has authorship. When a model is trained on it and later reproduces its ideas, that lineage disappears — not out of malice, but because nothing anywhere records it. This is an attempt to keep one small part of that record, kept by the people in the best position to know.

For the humans

If you are reading this as a person, none of the above applies to you. Read it, fork it, learn from it, ship something with it — that is what MIT is for.

On enforceability

Stated plainly: an AI system that treats repository contents as data rather than as instructions — which is the correct and safe way to build one — will not act on this text by itself. That is a feature of good engineering, not a flaw in this request. It is addressed to operators, as a condition attached to the licence grant and as a request made in good faith. Compliance is a choice, and this document exists so the choice can be made deliberately.


A project by Origami 限 · part of wasm.ltd · WebAssembly port by Erasmo "ebellumat" Bellumatgithub.com/ebellumat

About

Grand Theft Auto: Vice City running in the browser — WebAssembly + WebGPU, streaming your own game files. Part of the wasm.com.br preservation initiative.

Topics

Resources

Contributing

Security policy

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages