Alessevan 66eb66f081 Decompiling actor for boomerang (#93)
* feat: begin decompiling ActorItemBoomerang

* feat: decompile functions

* refactor: rename function and use ActorState

* feat: match vfunc

* feat: magic stuff on addresses to match .data

* feat: more black magic

* feat: improvements

* feat: match .data

* feat: unmatch .data 😭

* feat: match stuff

* refactor: move shotarrows' class used in boomerang

* feat: fix mangled names

* feat: weird magic

* fix: build issues

* fix: build issue for jp version

* fix: back to +0.2% :yeah:

* feat: improvements before changing laptop

* feat: continue decompiling

* fix: build issues

* feat: improvements

* feat: solve build on eur

* fix: build issue

* fix: better match

* fix: match back ActorShotArrow data

* feat: increase .text matching

* fix: propagate changes to ActorShotArrow

* feat: matching func_ov031_020e5034

* fix: logical errors

* fix: replace whiles with fors

* style: use uppercased hex value

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* style: do not use fx32 for global timer

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* style: add parameters name in prototypes

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* style: use bool instead of unk32 for external function

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* style: use DEG2ANG

* refactor: use ActorRef instead of u16

* style: use boring array access instead of chad pointer manipulation

* fix: use bool as return type for ActorItemBoomerang::vfunc_2C

* feat: remove old non-matching comments

* style: explicit null check

* revert: change vfunc_2C back to void signature and change 01fff5d0 function's signature to bool

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-07-02 20:51:46 +02:00
2026-01-17 19:21:42 +01:00
2026-04-17 01:03:18 +02:00
2026-07-01 04:09:04 +02:00
2026-07-02 20:51:46 +02:00
2026-05-11 17:27:59 +02:00
2024-09-16 14:00:37 +02:00
2025-07-17 17:16:19 +02:00
2024-09-16 14:00:37 +02:00
2025-12-22 22:19:41 +01:00
2025-02-13 23:22:21 +01:00

The Legend of Zelda: Spirit Tracks
Build Status Progress Discord Badge

Work in progress! This project aims to recreate source code for The Legend of Zelda: Spirit Tracks by decompiling its code by hand. The repository does not contain assets or assembly code. To build the ROM, you must own an existing copy of the game to extract assets from.

Note

The project targets the European and Japanese versions, and other versions might be supported later.

How to install

See INSTALL.md for instructions on how to install the project.

Contribution

A work in progress, but CONTRIBUTING.md has guidelines for how to contribute to the project.

Documentation

See /docs for documentation about the game.

S
Description
No description provided
Readme CC0-1.0 60 MiB
Languages
C++ 90.1%
C 6.6%
Python 3.3%