Ready to fly? Explore many worlds in this sequel to Kuru Kuru Kururin, piloting the Helirin with its ever-rotating propeller. In this adventure, your family went missing when they went to see a magic show. It's up to you to search for them and bring them back home. Overcome new challenges using the right shoulder button to speed up the Helirin's rotation. Between all the Helirin mazes, you will encounter the people behind the magic show and be challenged to a variety of minigames. They probably have something to do with your family, and you might even learn a magic trick or two along the way.
Play by yourself in Single Player mode, or with up to 3 friends in Single Pak Versus mode. Race through 30 challenging Helirin mazes and compete in many different minigames for some action-packed fun.
Kururin Paradise (J).gba
73BE3B930E2436D1C7BDB74AC281DD27C72E1F9E
bps patch (Recommended)
Manual Patch (Windows only)
armips
.kp.gba
build.bat
kp_patched.gba
In addition to the translation aspect of this project, there is some additional functionality on top of the base game:
My "patching" program of choice is armips
, which lets me write assembly hacks, include binaries, dynamically address labels, etc. Some chunks of the ROM are compressed via the GBA's BIOS method, so the batch script also runs lzss
by CUE to decompress those binaries (mainly multiplayer). armips
hacks those binaries, and lzss
re-compresses them to be inserted into the ROM by invoking armips
again. The whole patching process is self-contained, aside from the ROM.
The "encoded" text in the ROM is automatically patched using the above batch script i.e. you can change the contents of the text in the text/
folder, and they will appear in the ROM when you manually patch.
All "graphical" text in the ROM is not automatically formatted and inserted. Should you change the images, there are a smattering of Python scripts in the graphics/
folders to format the images to .dmp
files, which has already been done. Python is my fast and dirty way of re-quantizing images to the same palettes used in game, compressing data using the game's custom functions as well as operating grit.exe
. You do not need Python to patch the ROM, only to format new images if you choose to do so.
You change the value of DEBUG_VAR
in build.bat
to a nonzero number to enable one debugging feature. Currently, you can re-watch the "rank up" cutscenes and re-view the location splash screens by holding L after any "level complete" screen.
There don't appear to be glyphs of extended Latin characters in the ROM, nether in the "ASCII" font nor in the font used in dialogue. Also, I had enough trouble getting lowercase ASCII characters to load properly in some places, as they weren't loaded by default. Should anyone decide to translate into other Romance languages, you would have to implement your own glyphs and load them properly.
Special thanks to E-Sh4rk for documenting one of the compression/decompression routines the game uses.
Special thanks to NewGBAXL for revising the main game scripts (dialogue)
Armips was created by Kingcom.
grit was created by cearn, Jasper Vijn
armips.exe
and graphics/grit.exe
are licensed under the MIT license.
lzss.exe
is by CUE and licensed under GNU GPL, version 3.
The text box "You got the Key for this place!" was taken from a much buggier translation patch of this game, with some slight modifications.
All other files in this repository are licensed under the GNU General Public License v3 (GNU GPL-3)
The LanaPixel font was used to generate some text in some images (minigame instructions). LanaPixel was created by eishiya and is licensed under Creative Commons 4.0 International.
This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details.
FreeImage is used under GNU GPL, version 3.
See LICENSE.MD
for license texts.