[Hopperxx] converting .dir and/or .dcr to HTML5 and/or other languages
Jim Andrews
jim at vispo.com
Sun Jan 25 18:41:34 CST 2026
Hi Danny,
I expect you're familiar with Ruffle ( https://ruffle.rs ), which many
people use to emulate Flash work. Was the Flash work you were dealing
with too advanced for Ruffle?
I suppose ActionScript, being quite JavaScripty, was a kind of natural
for your approach. Of course, Lingo isn't.
If I understand you correctly, DisplayObjectContainer, DisplayObject,
BitmapData etc would be the classes from which Flash media members are
constructed. For the most part? But Actionscript involves all sorts of
things other than media members.
Could you flesh out your ideas a bit more and tell me why you think this
would work with Lingo and Director?
ja
On 2026-01-25 10:05 a.m., Danny Kodicek wrote:
> I haven't looked at translating Director across, but for what it's
> worth I have made a pretty reliable engine for porting AS3 across to
> TypeScript using the PixiJS framework. The basic principle was to make
> an interstitial layer of classes that mimic the AS3 library
> (DisplayObjectContainer, DisplayObject, BitmapData etc) but translate
> all the concepts across to Pixi. Then we simply transpiled our AS3
> code into TypeScript, calling these classes. So as far as our original
> code is concerned, it still "thinks" it's running in Flash. I'd
> probably handle a project like this in much the same way
>
> On Sun, 25 Jan 2026 at 17:24, Erik Loyer <erikcloyer at gmail.com> wrote:
>
> Hi all,
>
> Great to see this thread. I’ve been taking a similar approach in
> trying to update my Shockwave site Lair of the Marrow Monkey from
> back in the day. Google’s AI IDE Antigravity has been my tool of
> choice lately, it’s forked from the same editor VS Code is based
> on so familiar to me. I have access to the original .dir files for
> the project, and so manually extracted the script files using an
> Infinite Mac <https://infinitemac.org> emulator and created a CSV
> of the cast that identifies the type and content of each element.
> Then, I kicked off the process with a prompt that tried to explain
> the project and a little bit about Director. It’s taken a fair
> amount of iteration, but I’ve had good results in recreating a
> piece in the “single frame script-based” style. I’ve enclosed the
> prompt below in case it’s helpful for anyone — would be great if
> we could create something standardized that explained Director to
> the LLM and that could be reused for multiple projects. My prompt
> includes a lot of specifics about this particular piece, but
> hopefully still useful. Happy to provide more details if helpful.
>
> -Erik
>
> ——
>
> Prompt:
>
> In this project, I am updating a 1998 Shockwave-based website
> called "The Lair of the Marrow Monkey" to modern web standards.
> The website contained various pages with Shockwave player embeds,
> and I want to focus on porting those embeds before rebuilding the
> website itself. I've created a folder called "archive" which will
> contain artifacts from the old project, which was created in
> Macromedia Director 6. I'd like to start with an embed called
> "02". The "02" folder in "archive" contains a CSV which describes
> the contents of the "Cast," which was the name for a media and
> script library in Director. Each row corresponds to a single "cast
> member," and columns indicate related content and metadata, unique
> to each cast member type. For text and script cast members, the
> content can be found in the "02files" folder, in files with the
> same name. The "Data" file contains data powering the piece, while
> all of the other text files are scripts written in the Lingo
> programming language. Director files contained a "Score" where
> media and scripts would be placed. "Init Script" is the first
> script to be executed in the score, so let's focus on porting it
> first, with display and layout handled in HTML and CSS as a
> baseline, and Javascript used for dynamic elements. I've created a
> "ports" folder, and a "02" folder inside of that, that is where
> we'll assemble the ported version.
>
> [This resulted in a detailed implementation plan which I was
> prompted to approve, and things proceeded from there...]
>
>
>> On Jan 25, 2026, at 7:51 AM, Robert Gordon <rob at article19.com> wrote:
>>
>> I don’t have many Director projects of any value lying around
>> that I hadn’t already manually ported to Flash, then HTML5 (with
>> CanvasJS) then HTML5 again (with PIXIJS) then again to a more
>> native-in-the-browser implementation with lots of css.
>>
>> For fun, I did ask ChatGTP the following:
>>
>> Translate the following macromedia director lingo code into
>> javascript:
>> on exitFrame
>> go to frame 7
>> end
>>
>> I was surprised and impressed at the response. It understands
>> Director’s use of a playback head and how to implement animation
>> in JS. I wonder how many Directror/Lingo concepts it has a handle
>> on. If you have access to all of the original media & source
>> code, then perhaps give up on decompiling the dir/dcr and focus
>> on the code porting through ai with a different media management
>> mindset (not sure how many of us were using sprite-sheets and
>> texture-atlases back in the ole Director days…).
>>
>> Good luck!
>>
>> r o b
>>
>> *Robert Gordon*
>> The Article 19 Group Inc.
>> 514.938.8512
>> rob at article19.com
>> www.article19.com <http://www.article19.com>
>>
>>> On Jan 25, 2026, at 10:31 AM, Paul Catanese
>>> <catanese.paul at gmail.com> wrote:
>>>
>>> Dear Jim-
>>> Just wanted to pipe up that I'm fascinated and very interested
>>> in this direction; it would be great if it could bear fruit. I
>>> don't have time to focus on this deeplyy, but I am cheering you
>>> on, and wanted you to know it, and wanted to share some
>>> thoughts. The idea that an old director project could be
>>> translated to html5 seems like a great dream. Would love to see it.
>>> I was not aware of the projectorrays project - this certainly
>>> could be of interest.
>>>
>>> I was also fascinated about Danny's comment about .dir's
>>> being.zip's - I didn't know that, but I had effectively shifted
>>> away from Director by around 2006.
>>> Googling a bit, I did come across this post that speaks to the
>>> internal structure as an RIFX container.
>>> https://nosamu.medium.com/a-tour-of-the-adobe-director-file-format-e375d1e063c0
>>> This direction is a bit lower-level than I'd want to get mixed
>>> up in, but could be useful in thinking about what needs to be
>>> extracted.
>>> There's a few references at the bottom of the document that may
>>> also be of interest, including the projectorrays project.
>>>
>>> Please forgive some preaching to the choir, but wanted to jot
>>> down some general thoughts:
>>> * Recalling that some projects used 1-frame loops w/parent-child
>>> scripts, some used "timeline only", and majority used a hybrid
>>> approach e.g. approaches where instances carried behavioral
>>> scripts - I would suspect that these different authored-project
>>> architectures might require differing translation approaches for
>>> HTML5.
>>> * Large multi .dir projects would likely derive back down to one
>>> of those cases.
>>> * Functionalities provided by 3rd party xtras seem like another
>>> area of particular wrinkles to be unwound, as would some
>>> internal xtras like quicktime.
>>> * webgl should certainly be robust enough to handle shockwave 3d
>>> scenegraph & related functionalities
>>>
>>> *emulation?*
>>> In the net.art context, I had spoken with the Rhizome folks
>>> years ago, and their approach to preserving (flash) works was
>>> the emulation as a service model. They also did some interesting
>>> preservation techniques for director CD-Rom's in which old
>>> hardware would run projects natively, and then results streamed
>>> to clients - but the costs were personally way out of reach. I'm
>>> not even clear if they are still involved in anything like that.
>>> The approach you're talking about is a refreshing new angle for
>>> director works. That said, I did start to wonder what it would
>>> mean to have a software emulator, perhaps even a browser-based
>>> emulator that could run director projects, rather than
>>> converting them.
>>>
>>> *Bigger picture still*
>>> Jon Ippollito & Richard Rinehart's book: Re-Collection offers
>>> another thought - that new media art projects might be better
>>> considered as notation based (e.g. like music or theatrical
>>> productions) - so that recreating media artworks with new tools
>>> is part of their nature. I was at the WRO art center in Poland a
>>> few weeks ago, and they had recreated pieces like Camille
>>> Utterback's "text rain", as well as an early Paul Sharits
>>> piece, and a rutt-etra style video rasterization demo, among
>>> others, that fit into this framework - check them out here
>>> <https://wrocenter.pl/pl/mi/>. The guy who did the heavy
>>> lifting: Pawel Janicki might be interested in your project.
>>>
>>> -paul
>>>
>>>
>>> On Sat, Jan 24, 2026 at 7:46 PM Jim Andrews <jim at vispo.com> wrote:
>>>
>>> Hi Danny,
>>>
>>> I expect you already know about ProjectorRays:
>>> https://github.com/ProjectorRays/ProjectorRays . It isn't
>>> fantastic but it's something.
>>>
>>> This friend of mine I mentioned says "I never used copilot.
>>> I am in the IntelliJ ecosystem - WebStorm. They have in
>>> there "junie" coding agent, which as far as i know built on
>>> top of Claude model."
>>>
>>> People are raving about Claude Code. Anyway, my friend seems
>>> to think that this sort of AI could well convert something
>>> like .dir files to HTML5. I'm not sure he appreciates the
>>> difficulty of the problem--though he is a pro programmer.
>>> Maybe he does.
>>>
>>> Anyway, I suspect that if we could get some specs and
>>> whatnot on Director, that would help in the process.
>>>
>>> All of us spent eons creating work with Director. Anyone
>>> else interested or have info to share on this question??
>>>
>>> ja
>>>
>>> On 2026-01-24 3:27 p.m., Danny Kodicek wrote:
>>>> Adobe / Macromedia always insisted there was no way to
>>>> decompile .dcrs (although that always sounded unlikely to
>>>> me). But IIRC .dirs were like .docs - just zip files with a
>>>> different name. Theoretically I think you should be able to
>>>> rename them to .zip and open them up. That might only be
>>>> true for later editions of Director, though - and it might
>>>> not be true at all! Maybe I'm just making it up...
>>>>
>>>> On Sat, 24 Jan 2026 at 21:50, Jim Andrews <jim at vispo.com>
>>>> wrote:
>>>>
>>>> Hello dear Hopper folks,
>>>>
>>>> I have a question and issue to raise with you about
>>>> conversion of
>>>> Director stuff to HTML5 (or other formats).
>>>>
>>>> I am a newbie at using AI in my programming
>>>> practice--just started the
>>>> day before yesterday with Copilot in VSCode. So far so
>>>> good.
>>>>
>>>> But a friend of mine is intent upon using more powerful
>>>> AI tools to
>>>> convert the Arteroids (https://arteroids.vispo.com)
>>>> source code .dir
>>>> into html5.
>>>>
>>>> Not surprisingly, the thing he's having problems with
>>>> is the dir format.
>>>> There is a published format for SWF, and there's a
>>>> decompiler for
>>>> Director, but I guess AIs are going to have big
>>>> problems trying to
>>>> 'translate' dir or dcr files.
>>>>
>>>> Has anyone approached Adobe about making some (at
>>>> least) documentation
>>>> about Director public so we can try to salvage and
>>>> convert the IMMENSE
>>>> work many of us did in creating Director work?
>>>>
>>>> And what is out there now, if anything at all?
>>>>
>>>> ja
>>>> https://vispo.com
>>>>
>>>>
>>>> _______________________________________________
>>>> Hopperxx mailing list
>>>> Hopperxx at vispo.com
>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>>
>>>>
>>>> _______________________________________________
>>>> Hopperxx mailing list
>>>> Hopperxx at vispo.com
>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>> _______________________________________________
>>> Hopperxx mailing list
>>> Hopperxx at vispo.com
>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>
>>> _______________________________________________
>>> Hopperxx mailing list
>>> Hopperxx at vispo.com
>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>
>> _______________________________________________
>> Hopperxx mailing list
>> Hopperxx at vispo.com
>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>
> _______________________________________________
> Hopperxx mailing list
> Hopperxx at vispo.com
> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>
>
> _______________________________________________
> Hopperxx mailing list
> Hopperxx at vispo.com
> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://vispo.com/pipermail/hopperxx_vispo.com/attachments/20260125/66027058/attachment-0001.html>
More information about the Hopperxx
mailing list