Panel de Pon (Nintendo Puzzle Collection)/panepon.plf

panepon.plf is the main executable file for Panel De Pon (GCN). Despite having an extension of plf, it's actually an ELF file. This means that some regular tools built for non-gamecube ELF files can also work on panepon.plf. Fortunately, the file contains debug symbol info, along with residual data about file names. This means we can effectively reconstruct the source code files, albeit without any C code (and instead it'd be assembly).

Source code files:

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_DVDfile.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_tex.c

* C:\users\tsuji\common\drmario\_tex\_func.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_gc.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_MemoryCard.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_draw.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_anim\_mini\_vs.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_save\_tex\_data.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_sound\_data.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_tex\_data.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_ranking\_4p\_tex\_data.c

* C:\users\tsuji\title\src\panepon\gc\src\pon\_gc\_save\_yesno.c

* C:\users\tsuji\title\src\panepon\gc\src\ai.c

* C:\users\tsuji\title\src\panepon\gc\src\animate.c

* C:\users\tsuji\title\src\panepon\gc\src\animate2d.c

* C:\users\tsuji\title\src\panepon\gc\src\animate3d.c

* C:\users\tsuji\title\src\panepon\gc\src\animation.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_cloud1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_devil1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_fire1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_flower1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_green1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_moon1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_water1.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_devil2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_flower2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_goddess2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_ice2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_lion2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_moon2.c

* C:\users\tsuji\title\src\panepon\gc\src\anim\_water2.c

* C:\users\tsuji\title\src\panepon\gc\src\attack.c

* C:\users\tsuji\title\src\panepon\gc\src\attack2d.c

* C:\users\tsuji\title\src\panepon\gc\src\attack3d.c

* C:\users\tsuji\title\src\panepon\gc\src\bgminit.c

* C:\users\tsuji\title\src\panepon\gc\src\bitmap.c

* C:\users\tsuji\title\src\panepon\gc\src\bkground.c

* C:\users\tsuji\title\src\panepon\gc\src\bonus.c

* C:\users\tsuji\title\src\panepon\gc\src\cfb.c

* C:\users\tsuji\title\src\panepon\gc\src\character.c

* C:\users\tsuji\title\src\panepon\gc\src\combo.c

* C:\users\tsuji\title\src\panepon\gc\src\combo2d.c

* C:\users\tsuji\title\src\panepon\gc\src\combo3d.c

* C:\users\tsuji\title\src\panepon\gc\src\controller.c

* C:\users\tsuji\title\src\panepon\gc\src\dlist.c

* C:\users\tsuji\title\src\panepon\gc\src\draw2d.c

* C:\users\tsuji\title\src\panepon\gc\src\draw3d.c

* C:\users\tsuji\title\src\panepon\gc\src\editor.c

* C:\users\tsuji\title\src\panepon\gc\src\end.c

* C:\users\tsuji\title\src\panepon\gc\src\explode.c

* C:\users\tsuji\title\src\panepon\gc\src\explode2d.c

* C:\users\tsuji\title\src\panepon\gc\src\explode3d.c

* C:\users\tsuji\title\src\panepon\gc\src\fade.c

* C:\users\tsuji\title\src\panepon\gc\src\file.c

* C:\users\tsuji\title\src\panepon\gc\src\flic.c

* C:\users\tsuji\title\src\panepon\gc\src\gfx.c

* C:\users\tsuji\title\src\panepon\gc\src\image.c

* C:\users\tsuji\title\src\panepon\gc\src\init.c

* C:\users\tsuji\title\src\panepon\gc\src\init2d.c

* C:\users\tsuji\title\src\panepon\gc\src\init3d.c

* C:\users\tsuji\title\src\panepon\gc\src\main.c

* C:\users\tsuji\title\src\panepon\gc\src\menu.c

* C:\users\tsuji\title\src\panepon\gc\src\mimic.c

* C:\users\tsuji\title\src\panepon\gc\src\model.c

* C:\users\tsuji\title\src\panepon\gc\src\other.c

* C:\users\tsuji\title\src\panepon\gc\src\pause.c

* C:\users\tsuji\title\src\panepon\gc\src\peel.c

* C:\users\tsuji\title\src\panepon\gc\src\puzzle.c

* C:\users\tsuji\title\src\panepon\gc\src\sign.c

* C:\users\tsuji\title\src\panepon\gc\src\screen.c

* C:\users\tsuji\title\src\panepon\gc\src\sound.c

* C:\users\tsuji\title\src\panepon\gc\src\state.c

* C:\users\tsuji\title\src\panepon\gc\src\static.c

* C:\users\tsuji\title\src\panepon\gc\src\story.c

* C:\users\tsuji\title\src\panepon\gc\src\tetris.c

* C:\users\tsuji\title\src\panepon\gc\src\tetsound.c

* C:\users\tsuji\title\src\panepon\gc\src\text.c

* C:\users\tsuji\title\src\panepon\gc\src\title.c

* C:\users\tsuji\title\src\panepon\gc\src\tutorial.c

* C:\users\tsuji\title\src\panepon\gc\src\update.c

* C:\users\tsuji\title\src\panepon\gc\src\update2d.c

* C:\users\tsuji\title\src\panepon\gc\src\update3d.c

* C:\users\tsuji\title\src\panepon\gc\src\sfxinit.c

* C:\users\tsuji\title\src\panepon\gc\src\sfxlimit.c

* C:\users\tsuji\title\src\constract.cpp

* C:\users\tsuji\common\gc.c

For each of these files we can acquire the function names, along with the data for the functions. Essentially giving us a disassembled version of the code. Perhaps with enough effort, we can arrive back at the source code of the game. The plf file also contains all of the data (except the soundfont) for the music that plays throughout the game. Namely we have panepon\_pool, panepon\_proj, panepon\_sdir, and the various song files.