# Metropolismania PC: porting a PS2 game function by function

> Metropolismania PC rebuilds the PS2 game as readable C++ while using PS2Recomp output from the user's disc as a running scaffold. Functions are replaced individually and compared with recorded original calls; the author reports all 1,481 game functions rewritten, with 1,432 passing differential checks, while playthrough remains unfinished.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/koaque/Metropolismania-PC>
- Primary source: <https://github.com/koaque/Metropolismania-PC/blob/e98d14bd7fe4d5e83a10346f67505fd1aee186bc/README.md>
- Catalog page: <https://awesomerea.org/resources/metropolismania-pc-case/>
- Record JSON: <https://awesomerea.org/resources/metropolismania-pc-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/metropolismania-pc-case/index.md)

## Requirements & limits

- **Prerequisites:** The user's own USA Metropolismania PS2 disc, SLUS-20377 version 1.02, is required.
- **Prerequisites:** Building requires Visual Studio 2022, CMake 3.21+, Python 3.11+, Ghidra 12.1.4, JDK 21, and the Emotion Engine extension.
- **Limits:** The port remains experimental and is not ready for a complete playthrough.
- **License:** GPL-3.0.

## Primary sources

1. <https://github.com/koaque/Metropolismania-PC/blob/e98d14bd7fe4d5e83a10346f67505fd1aee186bc/README.md>
2. <https://github.com/koaque/Metropolismania-PC/blob/e98d14bd7fe4d5e83a10346f67505fd1aee186bc/docs/PORT_STATUS.md>

## More in Games

- [MikuPan: a native Fatal Frame PC port built on the Himuro decompilation](https://awesomerea.org/resources/mikupan-fatal-frame-port-case/index.md) · Case study
- [Miyoo64: porting fifteen Nintendo 64 games to Miyoo Mini](https://awesomerea.org/resources/miyoo64/index.md) · Case study
- [mm5sound: translating the Mega Man 5 sound driver to C++](https://awesomerea.org/resources/mm5sound-case/index.md) · Case study
- [Moon Pearl: an Android port of The Legend of Zelda: A Link to the Past](https://awesomerea.org/resources/moonpearl/index.md) · Case study
- [Naruto: The Broken Bond — an Android ARM64 port of the Xbox 360 recompilation](https://awesomerea.org/resources/naruto-the-broken-bond-android-port-case/index.md) · Case study
- [NBlood: reverse-engineered ports of Build-engine games](https://awesomerea.org/resources/nblood-build-games-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
