A work-in-progress decompilation of Kirby 64: The Crystal Shards, brought to you.
Go to file
Faris Awan 379dc6ad60
Some checks failed
Kirby 64 Pull Request CI / build (push) Has been cancelled
install splat from pypi on CI
2024-11-05 09:06:54 -05:00
.github/workflows install splat from pypi on CI 2024-11-05 09:06:54 -05:00
actors Made kirby model const; some ovl1_3 animation decomp 2020-08-04 03:11:08 -04:00
asm re-split ovl1_10 to uncover newly discovered thread 2024-05-15 22:25:04 -04:00
asm-differ update gitignore 2021-04-10 16:56:16 -04:00
assets add matching switch to assets makefile (easier modding) 2023-02-28 11:36:10 -05:00
data re-split ovl1_10 to uncover newly discovered thread 2024-05-15 22:25:04 -04:00
f3dex2@7e3f9a3615 update submodules, fix/ignore tool compile errors 2024-05-19 15:18:57 -04:00
include re-split ovl15 2024-05-12 11:39:50 -04:00
libreultra@abe8ce1c0a update libreultra again 2024-05-20 22:34:13 -04:00
src fix github action while i work on func_800BB24C 2024-05-15 22:27:15 -04:00
tools _now_ armips should build 2024-05-19 23:10:46 -04:00
ucode f3dex2 incorporated 2020-09-29 20:39:39 -04:00
.gitignore wrong variable name, maybe armips will build now 2024-05-19 23:15:11 -04:00
.gitmodules armips submodule 2024-05-19 23:09:00 -04:00
assets2.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets_geo.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets_image.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
context_gen_header.h ovl7_5, some renamings 2021-06-06 23:53:36 -04:00
diff.py ovl2_6 decomp; added brand new asm-differ version 2021-02-12 21:58:29 -05:00
extract_assets.py I kill your compile speeds; bank 7 transient geos are done 2021-01-16 20:12:04 -05:00
first-diff.py preparing for massive symbol-replacement undertaking 2020-08-12 16:36:44 -04:00
kirby.us.ld re-split ovl1_10 to uncover newly discovered thread 2024-05-15 22:25:04 -04:00
kirby.us.sha1 added files 2020-05-23 06:09:52 -04:00
libultra_unused.txt match pfsisplug 2022-12-20 19:44:27 -05:00
macros.inc model docs 2021-03-28 01:51:41 -04:00
Makefile i have tested it locally this time 2024-05-19 23:23:47 -04:00
rcp_syms.txt moved todo undefined rcp symbols to new file 2022-12-19 22:05:43 -05:00
README.md readme has dependencies now 2022-12-18 20:12:15 -05:00
rename_sym.sh split pfsisplug 2022-12-20 19:31:41 -05:00
sfiles.txt more asm fixing; aspMain identified 2024-05-14 18:52:31 -04:00
tempdelete.py save point before huge breaking change 2024-05-12 09:17:41 -04:00
undefined_syms.txt ovl4_2_1 split, more function sizing 2024-05-14 12:31:19 -04:00
unnamed_syms.txt re-split ovl1_10 to uncover newly discovered thread 2024-05-15 22:25:04 -04:00

Kirby 64: The Crystal Shards

This repository contains a work-in-progress decompilation effort for Kirby 64.

You will need an original copy of the ROM to proceed.

Exclusive Dependencies

  • Works best on the latest version of Ubuntu, Fedora, or Arch. PR's to support other Linux versions are welcome, but as of current those three are the only ones we can reliably test.
  • Python 3.10 with pip
  • jq

Installation

  • First, get Linux, or Windows Subsystem for Linux if you use Windows
  • Next, clone the repo by running sudo apt update && sudo apt install git gcc-mips-linux-gnu && git clone https://github.com/farisawan-2000/kirby64 --recursive
  • Get the GitPython submodule by doing pip3 install gitpython
  • Grab the qemu-irix deb from here and install it with sudo dpkg -i path/to/qemu(press tab here to autocomplete the name) (Use alien on Fedora or debtap on Arch to convert)
  • Now just follow the instructions for SM64 decomp here, but before you go, keep reading.
  • Once dependencies are installed, run make setup to get assets extracted, then make to build!

Contributing

  • Pull requests are welcome! Everything is fair game to work on, including tons of easy functions that make for an easy PR! ;)

TODO (Required)

  • Disassemble every asset that's extracted, or convert them into images and build them
  • Work on ASM shiftability and struct documentation (Asset shiftability is done!)

TODO (Necessary)

  • Actually decompile the code
  • Clean up undefined_syms.txt

TODO (Want to contribute? 😳)

  • Document Kirby's action states (Might require PJ64 Debugger)