SCUMM Nutcracker Utilities

I've just been informed on Mixnmojo of a set of utilities called Nutcracker. It's a set of tools for editing resources in SCUMM games. Its decompiler outputs code that very closely matches that of the original SCUMM syntax, as shown in the official SCUMM documentation. If this were an IDE, it'd be really useful. Right now, v5 and v6 are supported.

I've now started work on new decompilations of compatible games here.

Nutcracker
Download the latest binary release here
Here's an example script from Secret of Monkey Island:
Code:
room recipe {

    exit { ; EXCD LECF_0001\LFLF_0084\ROOM\EXCD
    local variable L.0

        set-screen 0 to 144
        start-script 17 (2)
        for L.0 = 0 to 255 ++ {
            palette intensity 255 in-slot L.0 to L.0
        }
        charset 2
        end-object
    }

    enter { ; ENCD LECF_0001\LFLF_0084\ROOM\ENCD
    local variable L.0

        start-script 17 (1)
        set-screen 0 to 200
        for L.0 = 0 to 255 ++ {
            palette 0 in-slot 0
        }
        break-here
        charset 1
        print-text center color 0
        print-text at 160,25 "DIRECTIONS TO MONKEY ISLAND!!!"
        print-text at 160,33 " "
        print-text at 160,41 "Pre-heat pot to 450 degrees"
        print-text at 160,49 "Add the following ingredients:"
        print-text left at 74,57 " "
        print-text left at 74,65 "     1 Cinnamon stick"
        print-text left at 74,73 "     4 Leaves of Mint"
        print-text left at 74,81 "     1 Human Skull (pressed)"
        print-text left at 74,89 "     1 squirt Squid Ink"
        print-text left at 74,97 "     2 pts Monkey Blood"
        print-text left at 74,105 "     1 Live Chicken"
        print-text left at 74,113 "     3 oz. Brimstone"
        print-text left at 74,121 "     1 or more of the following:"
        print-text left at 74,129 "       pyridoxine hydrochloride,"
        print-text left at 74,137 "       zinc oxide, yellow 8,"
        print-text left at 74,145 "       mine mononitrate and BHA."
        print-text left at 74,153 " "
        print-text at 160,161 "Let bubble over low flame until thickened."
        print-text at 160,169 "Serves crew of four."
        charset 2
        for L.0 = 0 to 255 ++ {
            palette intensity 255 in-slot L.0 to L.0
        }
        end-object
    }
}
 
Last edited:
Back
Top