A decompilation of Pikmin 2 (USA) brought to you by fans of the series.
Go to file
2022-04-24 16:30:05 -04:00
.github/workflows ci: Generate map & run calcprogress 2022-04-08 19:36:02 -04:00
asm link JUTResFont.cpp 2022-04-24 16:30:05 -04:00
include link JUTResFont.cpp 2022-04-24 16:30:05 -04:00
sha1 Initial commit 2021-09-27 21:57:49 +01:00
src link JUTResFont.cpp 2022-04-24 16:30:05 -04:00
tools TCamera and add context tool from @encounter 2022-04-18 00:44:29 -04:00
unsorted_include_todo match JSGSystem.cpp 2022-04-19 11:55:17 -04:00
.clang-format adjust formatting for some breathing room 2022-01-11 22:31:11 -05:00
.gitattributes Create .gitattributes 2022-01-27 22:30:48 -05:00
.gitignore ignore ctx.c 2021-12-04 21:10:06 -05:00
asmdiff.sh Add makefile for elf2dol, Edit asmdiff.sh, Add patch_linker.sh 2021-10-04 10:10:08 -04:00
e_files.mk match uart_console_io_gcn.c and dvdidutils.c 2022-02-09 00:11:25 -05:00
format-files.py Remove unsorted include from format files 2021-12-29 17:42:25 +00:00
genasm.sh Squashed commit of the following: 2022-01-30 17:21:06 -05:00
genasmNoStrip.sh JPATexture, gameIconTexture, and random progress! 2021-12-05 19:22:31 -05:00
ldscript.lcf remove ebiP2TitleCamera.o from FORCEFILES 2022-01-14 23:19:25 -05:00
LICENSE.MD Rename LICENSE to LICENSE.MD 2022-01-21 21:35:01 -05:00
linker-map.txt recreated source filesystem 2021-09-29 17:30:58 -04:00
Makefile ci: Generate map & run calcprogress 2022-04-08 19:36:02 -04:00
obj_files.mk link JUTResFont.cpp 2022-04-24 16:30:05 -04:00
README.MD link JUTResFont.cpp 2022-04-24 16:30:05 -04:00

Pikmin 2

Pikmin 2 decompilation to C++/C

- INFORMATION! -

The ROM this repository builds can be shifted! Meaning you are able to now
add and remove code as you see fit, for modding or research purposes.

It builds the following DOL: pikmin2.usa.dol: sha1: 90d328bf8f190c90472e8c19e7e53c6ad0fe0d1a

Credits

  • intns
  • EpochFlame
  • SodiumChlorideLogic
  • GibHaltmannKill
  • kiwi
  • shibboleet
  • wowjinxy
  • nerduminer
  • JHawk
  • Minty-Meeo
  • Revo

Building

Required Tools

Instructions

  • WINDOWS ONLY STEP:
    • Launch msys2(Provided by devkitPro) and run the command pacman -S gcc.
  1. Download GC_WII_COMPILERS.zip from (https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip) and extract the GC folder to tools/mwcc_compiler/.
  2. Run make -j in a command prompt or terminal.
    • -j Allows make to use multiple threads, speeding up the process.
  • OPTIONAL:
    • Obtain a clean DOL of Pikmin 2 USA 1.0 and place it in the base working directory and rename it to baserom.dol.
    • To generate a linker map (takes a considerable amount of time), run make MAPGENFLAG=1 -j

Project Organisation

  • For each namespace that types and functions are contained within, create a folder. E.g. the structure Game::GameSystem will go in include/Game/GameSystem.h.
  • The exception is only when adding extra folders becomes useless, for example having to add multiple folders that are empty, you can instead opt for creating a header file with the namespace's definitions inside.
  • The project is actively formatted using .clang-format, for a consistent code style.

Progress

DONE

WIP