This project extracts all of Junkbot's source code and assets for preservation purposes. Previously, it was all buried within a 20+ year old Adobe Director project.
Note that the .ls
files are written in "Lingo" (Adobe Director), not "LINGO" (mathematical modelling), or "LiveScript" (JS).
The /files/
directory contains all extracted scripts (.ls
), images (.bmp
), sounds (.wav
/ .mp3
), Flash animations (.swf
), and text (.txt
).
To try and keep a bit of structure, scripts are organised according to their "cast" (group) in the original project (e.g. editor
, or sound
), and with their script type (cast_
/ behavior_
/ movie_
/ parent_
) as a prefix.
A few interesting areas to highlight:
- All game sounds / music:
/files/sound/
- All level data:
/files/levels/
- All bricks:
/files/legoparts/
- Secret in-dev names of levels:
/files/catalog/catalog text.txt
- Animation components:
/files/dynamic/
, filenames constructed bybehaviour_legoparts manager.ls
.
And a few asset bugs:
- One of the walking animations has a mysterious pink thing (
1.bmp
) in the top left. - Some assets (e.g.
MINIFIG_walk_l_10_s1
&MINIFIG_walk_l_1_s1
) have a single coloured pixel in the bottom left corner.
And just some assets I like:
The /reference/
directory contains a few useful files:
director_reference.pdf
: Adobe's official 1,426 page guide to Director programming (in Lingo). Whilst this is useful for specific function definitions, Lingo itself is pretty readable if you know other languages.junkbot2_13g_asp.dcr
: The original Junkbot game, taken from an Archive.org backup.junkbot2_13g_asp.dir
: The.dcr
file decompiled (guide).
Some sound files were originally .SWA
, which can't easily be played. Luckily, this format is just .MP3
with extra data, so renaming to .MP3
made them playable. Thanks, "hp3" from 2004!
A few bitmaps were exported with a bit depth of 1 (e.g. black and white). These didn't work properly on modern OS, so have been converted to a bit depth of 8.
The affected files are the 9 "cursor" files inside Internal
.
- AntRenamer for bulk filename / extension changing.
- n0samu's DirectorCastRipper for asset extraction (although I did most of it manually).
- If you're using VSCode, I recommend Mark Hughes' "Lingo Syntax Highlighting" extension.
- 1j01's HTML5 rewrite.