(Note: This may be old news to some of you, but others have never heard this, so please bear with me. ;))
On September 12, 2012 to download a program I found the day before but didn’t bookmark it. And you know on then SF search results how the program icon will be displayed if the developer added one? Well, while looking for that program (which didn’t have an icon), I saw a green, 2×2 brick surrounded in a blue circle, and it was called LIME. Intrigued by this combination of icon and name, I clicked the project, and found what may be the biggest update to LEGO Island modding ever:
This small project (also hosted on GitHub) consists of single Python 2 script that claims to extract the music from JUKEBOX.SI . It has had only three code commits, and according to a blog post written on August 19, 2011, it is a stable release, ready to be used.
I downloaded the .py file, and after contacting Segatendo for a copy of JUKEBOX.SI (as I did not yet own Island) (“Muffin for you for reading the credits :P” – Segatendo), figuring out what version of Python to use, and record a video about it 4 times (MSI Afterburner would not create an AVI), I am ready to announce this amazing piece of software that was already on the Internet for a year and was not written by me! 😀[youtube.com=http://www.youtube.com/watch?v=_a2hHzQYHw8]
A few notes here:
- After much testing, I found that LIME will works with Python 2.7.3. It will end in a syntax error when run with Python 3K (the exact error I do not remember). I did not run it on anything lower than Python 2.5.
- Since it is written in Python, it can be re-purposed to extract the other, non-audio SI files, or extract JUKEBOX.SI without converting them to WAV.
- It spits out an error part of the way through the extraction because it cannot pull the WAV audio from a Smaker video, and it will not extract anymore after it hits the block.
Basically, this small script changes the future of LEGO Island modding. And we have Matthew and Nick Thompson to thank for it. 🙂
On September 23, 2012, I contacted Matt, the writer of LIME, asking him to expand LIME to extract the other SI files. A transcript of my message follows:
Hello! I am le717, and I would like to talk to you about your project entitled LIME (LEGO Island Music Extractor).I belong to a community that specializes in the modding of LEGO video games 10 years and older. One game in particular, LEGO Island, is a hot topic for modding, as it is deemed one of the best video games LEGO has ever made. Unfortunately, nobody has been able to figure out how to extract the SI files in which everything is contained. Therefore modding has been non-existent, and recently we were forced to import JUKEBOX.SI into Audacity and try to rip the audio out from that.Two weeks ago while browsing Sourceforge for a program, I came across your LIME project, read the .py file and your blog post stating that it was stable, and reported it back to the community. It has been greatly praised, considering it extracts the LEGO Island JUKEBOX.SI file, and does so very well.I am writing you to ask if you will expand LIME to extract every LEGO Island SI file, not just JUKEBOX.SI, so we can use it to mod LI. Our Python programmers are few and wide, and are already swamped with other games and projects. That is why I am asking you to expand your LIME project to extract everything. I’m sure you already understand this, but game modding takes a while. We have to extract the files, figure out what they are and how to duplicate them, then recompress the archives to make the game use our modded stuff. LIME is the first step to modding LEGO Island, but we can’t do it since LIME was written just to extract JUKEBOX.SI and converts everything to a WAV file.Here is the link to the forum topic I created on Rock Raiders United telling them about LIME. If you would like, please drop by and talk to us about LIME. We will be very happy to answer your questions.
Thank you for taking the time to read my message, and I look forward to hearing back from you soon.
-le717 (-link to the blog you are reading this on-)
A day later, I got a reply:
Hey,Thanks for your interest in LIME! I actually wrote this at the request of my brother – he’s a big Lego Island fan. We did some work to reverse-engineer the package format and once I got the music we wanted I called it done. I’d be glad to look into extracting other kinds of files or making a more general extractor, though.
I’ll write more after I review the code after work tomorrow (it’s been about a year, I think). Also, I’ve since cloned the project on GitHub, which makes it easier for people to contribute and share code: -link to GitHub project-
Talk to you later,
After a week of receiving the reply and there seemed to be no updates to LIME, I went to SF and GitHub and looked all through the site trying to find any truth to my theory. It was correct, until I saw that the GitHub one had been updated 9 days ago on a separate branch. Matt was completely rewriting LIME!
To see if it was complete or not, I download the script and ran it. I think the video will give the answer perfectly. 😛[youtube.com=http://www.youtube.com/watch?v=9rqC90in4ZI]
That was two months ago. There has not been an update since. On December 23, 2012, I wrote Matt again, asking about it and giving a little bit more info (hoping it could help him). I got a reply a few days later:
The branch that has the new code isn’t ready yet. I’ve been working on it in my off hours after work. The format is essentially RIFF, but the way the files are stored is probably specific to Lego Island. I’m basically having to reverse engineer some things that weren’t necessary when all I was doing was ripping out the PCM music tracks 🙂
Have a happy holiday,
It makes sense that it could be a custom format, and since he is working on it after work, I do not expect too many updates.
I end this very long post with this: Good things come to those who wait. It has been four months since Matt started rewriting LIME, and it has not been updated since. Although I am now a Python programmer, I am only a beginner, and I have to learn a lot of stuff before I could help out with LIME. However, even if I cannot help with LIME right now, it will get done. I do not who will do it, nor when, but it will. And until it happens, I and a lot of other people will be eagerly waiting for LEGO Island modding.
We’ll talk later, Blog-O-Sphere!