AAAFNRAA

joe crawford. sign my guestbook

Editing frames in old .swf and .spl files

My career started with HTML, and then Flash. Flash had a great run, but mobile devices with limited battery life and Flash movies which required complicated computation were not a good match. People mostly don’t make Flash content anymore, though some actual cartoon animation has had Flash in their workflows.

As for my own personal Flash work, I used a converter tool to transform Flash content into HTML5 content many years ago. It worked okay, but was not the original work. Not really.

We said goodbye to Flash for good in 2020.

Ruffle is an project that allows old Flash (.swf) and even FutureSplash (.spl) files to play by loading their JavaScript library onto an existing page. It detects the original markup and does its best to give you that old experience. It’s good enough for the Internet Archive to use it for vintage Flash content.

But there’s a limitation to Ruffle’s code. The playback engine that doesn’t respect the LOOP attribute in embed pr object tags.

Some of my old Flash work relied on LOOP=FALSE. When my movie of 23 frames played, it would loop infinitely. In the movies authored this way, the navigation would keep jumping into view, and disappear hilariously. I think of Adrian Belew’s song The Momur:

That’s when my heart started jumpin’
Like a broken t.v.
A BROKEN T.V.!

Until Ruffle addresses that issue, I’ve tracked down a solution for myself.
I was able to use brew to install the JPEXS Decompiler. It runs using ant run and opens a very-Java-looking user interface:

Using the decompiler I was able to inspect and add ActionScript to the final frame of the misbehaving files. The code is simple: stop();.

Screenshot of JPEXS Decompiler

I was also able to edit links to external urls. I replaced my earthlink email address with the one I’ve used since 1998. I changed http:// to https://. It was far easier than I thought.

20 years ago I wasted a lot of time trying to reverse engineer and decompile Flash movies and other binaries. I was impressed that the JPEXS Decompiler worked so well, because upon uploading the files my Flash work now works more or less as it did 23 years ago. There is an opt-in to playback which requires the visitor to click a big play button, but that’s fine for now. I may explore other changes there and seek out other Flash movies I worked on to see if there’s other salvageable work.

Nobody needs Flash movies, but it’s fun to revisit this work and very fun to take on a seemingly impossible task and complete it.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.