A modular environment for the analysis, extraction, and visualization of legacy media formats and SCUMM engine assets.
MMUCS (Modular Media Unpacker Content Studio) is a Godot-powered tool designed to deconstruct, visualize, and analyze SCUMM-based media architectures.
Why I Built This I originally built MMUCS to aid my own pursuit of modding The Curse of Monkey Island (COMI), with the ultimate goal of creating extended background art and higher-resolution sprites. Because I focused and tested exclusively within the context of COMI (SCUMM v8), the scope and codebase have remained slim.
As a result, it will most likely not work as expected with other SCUMM games out of the box—though adapting it to support other titles is entirely possible. I'm sharing this prematurely with the community by request, so please keep in mind that it is by no means complete!
- Block Hierarchy Visualization: Navigate the internal structural tree of media files using the
BlockHierarchyPanel, allowing you to see how data segments are nested and organized. - Metadata Analysis: Instantly access embedded headers, tags, and descriptive data via the
MetadataPanel, providing context to the raw binary streams. - Raw Data Transparency: Use the integrated
HexPanelfor low-level binary inspection when precision is required at the byte level.
- AKOS Viewer: A dedicated
AkosViewerPanelfor inspecting and playing back legacy AKOS animation data, complete with specialized caching (AkosCelCache) for smooth performance. - Room & Background Preview: Visualize spatial assets and environments through the
RoomPreviewPanel, utilizing aScummBackgroundCacheto ensure rapid asset switching and high responsiveness. - Indexed Rendering Pipeline: Specialized
IndexedRendererandIndexedSurfaceutilities facilitate the accurate representation of palette-indexed legacy graphics on modern displays.
- Floating UI System: A flexible interface utilizing
FloatingPanelandWindowManagerthat allows users to customize their layout, docking or undocking tools as needed for their specific workflow. - Dynamic Theming: Switch between aesthetics with the
Options Window, supported by custom styleboxes and shaders. - Zoomable Viewports: High-precision inspection of visual assets is made possible through
ZoomableViewportutilities, ensuring every pixel can be scrutinized.
Download the latest release here :
- Launch the application from the Godot editor or exported binary.
- The file dialog will automatically appear.
- Navigate to the root of your extracted COMI directory and chose any .LA0 file.
- The
ScummResourceParserwill begin indexing the file, and theBlockHierarchyPanelwill populate with detected data segments.
- Within the
BlockHierarchyPanel, browse through the tree. You can navigate with the keyboard or mouse. - When an
LFLForROOMblock is selected, theRoomPreviewPanelwill automatically populate. - Inside an
LFLFblock, you will often findAKOSblocks. Selecting one of those will automatically populate theAkosViewerPanelwhere you can cycle through the cels.
- Rearrange Windows: Click and drag any
FloatingPanelto rearrange your workspace. Grab its edges to resize. - Adjust Appearance: Navigate to the
OptionsPanelto modify theme settings via theThemeManager. - Inspect Raw Data: Select any block to see its byte-level representation in the
HexPanelor its metadata in theMetadataPanel.
Contributions welcome! Whether you are an expert in legacy formats or a UI/UX designer, your input is valuable.
For any SCUMM veterans out there, please verify my metadata descriptions in ScummTag - Some are my best guess. Also see ScummMeta as the new type-safe format which may need expanding.
Please let me know if I missed any decoding formats in Scumm V8 - feel free to add more decoders.
- Add export functionality - decoding is done.
Add OBIM decoding and display in Room panel- Add hotspots etc to Room panel
Update UI config - not all settings persist yetImprove UI flow and reliabilityWindow size and position can be stored- Unify base window into own scene, and make each window type a variant
- Maybe make Akos animations playable - instructions are decoded
Add more wallpapers- Script decoder
- SCUMM Runner
This project is licensed under the PolyForm Noncommercial License 1.0.0 - see the LICENSE.md file for complete details.
- ❌ Commercial use: You cannot use this project or its code for commercial purposes or financial gain.
- ✅ Modification: You can modify the code to suit your specific unpacking and SCUMM data-exploration needs.
- ✅ Distribution: You can distribute this software freely for non-commercial purposes.
- ✅ Hobby & Personal use: You can use this project privately for hobby projects, amateur pursuits, research, or gaming preservation.
⚠️ Liability: The software is provided "as is", without warranty of any kind.⚠️ Patent Defense: If you make a patent infringement claim against this software, your license ends immediately.