Bounce Tales is a 2008 video game originally created by Rovio and licensed by Nokia that shipped with many S40 devices in the early 2010s. It was developed exclusively for the J2ME platform and uses certain features (DirectGraphics, DeviceControl) exclusive to Nokia's implementation. This repo aims to provide a legible and extensible decompilation of the game's classes and resources for preservation and... well... mainly fun.
This project is:
It is, however, not:
Read this before building the game!
As is the tradition with decompilations, you'll need a copy of Bounce Tales in order for projects to compile and run properly. Even though the game is free and Rovio probably doesn't care about its copyright anymore, it's more streamlined than distributing them through version control and shouldn't be a problem for most users as Bounce Tales is still widely available for download.
Most of the dumping process is already prepared for you, so all you'll need to provide is a JAR of Bounce Tales. Once you've got that ready, do the following:
BounceTools
project in NetBeans.BounceComposer
run configuration.BounceTools/res_decomposed
folder. Now hit the Compose resources!
button to generate the build-ready resource folder.Bounce Tales can be run either as a MIDlet on a Nokia J2ME device, or through Jademula as a Windows application.
BounceTales
folder in NetBeans.Run > Build Project
.dist
subfolder within the project.BounceWin32/src
and create a directory junction from bouncetales
to BounceTales/src/bouncetales
. Unfortunately, we can't directly add the J2ME project as a dependency as it breaks error checking in older versions of NetBeans, and this step is necessary as Git can not preserve hardlinks.BounceWin32
in NetBeans (any version) and ensure Jademula
is properly linked.bouncewin32.BounceWin32.java
. If Jademula returns a UnsatisfiedLinkError, make sure you are using a 64-bit JDK, or compile its DirectInput DLL for your platform and put it in the lib
subfolder of the BounceWin32
project.An Android version could be cool, but as of now this is all TBD.