# shadowheartsdecompilation: Shadow Hearts PS2 runtime classes decompiled to C++

> shadowheartsdecompilation reconstructs C++ source for the core runtime classes of the PS2 game Shadow Hearts. It covers CThread, CTimer, CPoller, CPolling, CPolObj, CDrawObj, CDrawPolling, CDraw, CApp, CPause, FVector and Matrix, with each method annotated with its address in the original executable and written against Emotion Engine kernel calls and hardware timer registers.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-09
- Added to the catalog: 2026-11-10
- Original resource: <https://git.sr.ht/~benoitren/shadowheartsdecompilation>
- Primary source: <https://git.sr.ht/~benoitren/shadowheartsdecompilation/tree/a757b59f228f4dd382688a5fee2946ea4cb4f31c/item/src/ctimer.h>
- Catalog page: <https://awesomerea.org/resources/shadow-hearts-decompilation-case/>
- Record JSON: <https://awesomerea.org/resources/shadow-hearts-decompilation-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/shadow-hearts-decompilation-case/index.md)

## Requirements & limits

- **Scope:** Covers twelve runtime classes; CApp is decompiled except for its Run method.
- **Limits:** The repository contains C++ sources and headers without build scripts.
- **License:** CC0 1.0 Universal.

## Primary sources

1. <https://git.sr.ht/~benoitren/shadowheartsdecompilation/tree/a757b59f228f4dd382688a5fee2946ea4cb4f31c/item/src/ctimer.h>
2. <https://git.sr.ht/~benoitren/shadowheartsdecompilation/tree/a757b59f228f4dd382688a5fee2946ea4cb4f31c/item/README.md>
3. <https://git.sr.ht/~benoitren/shadowheartsdecompilation/tree/a757b59f228f4dd382688a5fee2946ea4cb4f31c/item/src/ctimer.cpp>
4. <https://git.sr.ht/~benoitren/shadowheartsdecompilation/tree/a757b59f228f4dd382688a5fee2946ea4cb4f31c/item/src/eekernel.h>

## More in Games

- [Sheep, Dog 'n' Wolf: a decompiled multiplatform implementation](https://awesomerea.org/resources/sheep-dog-n-wolf-rewooled-case/index.md) · Case study
- [skcollectioncport: Sonic & Knuckles Collection rebuilt in C](https://awesomerea.org/resources/skcollectioncport-case/index.md) · Case study
- [SkiFree: C reconstruction of version 1.04](https://awesomerea.org/resources/skifree-decomp-case/index.md) · Case study
- [SMB Vanilla: a C reconstruction of two NES Mario games](https://awesomerea.org/resources/smb-vanilla-case/index.md) · Case study
- [SMBDIS.ASM: a comprehensive Super Mario Bros. disassembly](https://awesomerea.org/resources/smbdis-super-mario-bros-disassembly-case/index.md) · Case study
- [smt-decomp: decompiling Shin Megami Tensei for PlayStation](https://awesomerea.org/resources/smt-decomp-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.
