JaceCear 9da592bb8e Make palettes format-independent, and other improvments (#242)
* Remove unused RED|GREEN|BLUE_VALUE macros

* preproc: Add basic support for loading .pal files directly via INCPAL()

* Some potential boss_8 render fixes and misc. stuff

* Use INCPAL macro in src/data/sprite_animation.c (but that file's is unused rn?)

* Fix non-main-Makefiles not using preproc properly

* Remove all INCBIN(.gbapal) uses with INCPAL(.pal) in ./src

* Move gSpritePalettes to C

* Rename palette to time_display_singlepak.pal

* Remove obj_palettes.inc

* Use ColorRaw for known palettes

* Fix time_display match

* Rename palette to sound_test_bg.pal

* Add comment and scratch to sub_80236C8

* Use PALETTE_LEN_4BPP

* Document a vocal sample name. Thanks 'Asal (in Harmony)' for letting us know!

* Document palette names in /graphics

* Fix boss palette names

* Renmae to sBoss7Palettes

* Some Boss 7 documentation

* Add ShredWindowsGarbage to win32

* Make PLTT a Color[] in non-vanilla builds

* Make Tilemap use INCPAL
2026-03-17 23:00:00 +00:00
2026-03-04 02:27:13 +00:00
2024-10-28 11:07:36 +00:00
2025-02-13 20:40:45 +00:00
2026-01-04 12:45:12 +00:00
2025-09-09 01:31:35 +01:00
2025-09-21 15:59:17 +01:00
2025-09-17 00:58:46 +01:00
2023-05-13 12:58:29 +01:00

Sonic Advance 2

Sonic Advance 2 title screen

CI status Decompilation Progress Decompilation Matching Progress Contributors Discord

⚠️ This project is not completed and still under active development

This is a work in progress matching decompilation of Sonic Advance 2

It builds the following ROMs:

  • sa2.gba sha1: 7bcd6a07af7c894746fa28073fe0c0e34408022d (USA) (En,Ja,Fr,De,Es,It)
  • sa2_europe.gba sha1: b0f64bdca097f2de8f05ac4c8caea2b80c5faeb1 (Europe) (En,Ja,Fr,De,Es,It)
  • sa2_japan.gba sha1: dffd0188fc78154b42b401398a224ae0713edf23 (Japan) (En,Ja,Fr,De,Es,It)
  • sa2_japan_vc.gba sha1: 2aa6ee2cf2b0ebfafbea6d6d24165b252a7e329e (Japan) (En,Ja,Fr,De,Es,It) (Virtual Console)
  • sa2_beta.gba sha1: 3368642fc4157824af63367e2a685b7d6ee9b09d (USA) (Beta) (2002-10-25)

It can also build:

  • sa2.sdl make sdl (Linux/MacOS SDL 64bit port)
  • sa2.sdl_win32.exe make sdl_win32 (Windows SDL 64bit port)
  • 🚧 sa2.win32.exe make win32 (Win32 OpenGL port, not functional)
  • sa2.ps2.iso make ps2 (PlayStation 2 port, requires PS2DEV)
  • EBOOT.PBP make sdl_psp (PlayStation Portable SDL port, requires PSPDEV)

Current state

Sub games

Within the Sonic Advance 2 rom there are some "Sub games" which we have begun to decompile as part of this project. These sub games are automatically compiled and bundled during the main build process, as they are necessary to create a matching binary.

Multiboot rom Decompilation
mb_chao_garden.gba Decompilation Progress
collect_rings.gba Decompilation Progress

Setting up the repo

Please see follow these instructions

Community

Join us on discord to get started in helping out

Screenshots

Notes

  • The Kirby & The Amazing Mirror decompilation uses a very similar codebase, as it was written by the same dev team (Dimps)
  • https://decomp.me is a great resource for helping to create matching functions
  • ldscript.txt tells the linker the order which files should be linked
  • For more info, see the FAQs section of TMC

Credits

Languages
C 83.8%
Assembly 15.2%
Makefile 0.6%
C++ 0.4%