MCM Resource Explorer User Guide

Feature and usage guide, updated 2026-07-26.

MCM Resource Explorer logo

MCM Resource Explorer is a Windows application for inspecting and extracting supported Motocross Madness, Motocross Madness 2, and MX vs. ATV Unleashed files. MCM2 archives also support editing and rebuilding. The Explorer includes dependency-free viewers for terrain OBJ files and supported SLT objects.

Contents

1. Supported files 2. Main window 3. Opening a resource 4. Previewing entries 5. Extracting files 6. Adding and replacing files 7. Saving and rebuilding resources 8. Verifying a resource 9. Working-folder settings 10. Extracting terrain 11. Terrain OBJ viewer 12. SLT object preview 13. Menus and shortcuts 14. Command-line operations 15. Safety, backups, and troubleshooting 16. Current limitations

Supported files

The Open dialog searches for these archive extensions by default:

The standalone terrain extractor accepts supported .trn files from MCM1, MCM2, or MX vs. ATV Unleashed. The terrain viewer opens Wavefront .obj terrain meshes and can overlay an MCM2 .tdf or MCM1 National .dat spline.

For package editing, Extract All creates reflex-package.manifest.xml, a preserved database sidecar, and all indexed assets. Rebuild Archive from Folder accepts changed asset sizes, recalculates the verified Heap offsets and sizes, preserves unrelated database metadata, and can append new files with unambiguous filename-stem/type identities.

Main window

The main window has four working areas:

Drag the splitter between the entry list and preview pane to give either side more room. The summary, title, and status bar identify the detected game and archive format. The status bar reports the most recent operation and shows progress while an archive is opening or an archive-wide search is running. These long operations run in the background so the window continues repainting and responding. An asterisk in the window title means that the open resource has unsaved changes.

Opening a resource

Choose File > Open Archive, click Open, press Ctrl+O, or drag one archive file onto the window. The Explorer remembers the last folder used by Open and Save dialogs.

Set a default starting folder under File > Settings to begin each new session in a project or games folder. Starting the executable with a folder path overrides that setting for the session. Starting it with a file path opens that file directly, which is also how the Windows context-menu command works.

Opening an archive reads its directory and entries into memory. MCM2 resources and MX vs. ATV Unleashed PAK sessions are editable. No source file is changed merely by opening or previewing it. If the current resource has unsaved changes, the Explorer asks whether to save, discard, or cancel before opening another file or closing.

Previewing entries

Select exactly one entry to display it in the right-hand preview pane. Previews load directly from the archive; extracting the entry first is unnecessary.

Use the preview selector to switch between Interpreted and Hex for any selected archive entry. Interpreted text and metadata summaries wrap to the pane width; hexadecimal rows remain fixed-width. Hex width selects 8 or 16 bytes per row.

Enter text in Search text in all files and click Search to scan every entry without extracting it. The status bar shows the percentage of entries scanned. Matching file rows use a muted dark yellow, while the selected match uses bright yellow. The first matching row is selected and scrolled into view, and its preview jumps to the first visible occurrence. The same term is loaded automatically into Find in preview, so its Next button is immediately ready. Click Next File to visit each matching file in order; after the last match it wraps to the first. Click Clear to remove the archive-wide highlighting.

Find in preview is independent of the archive search. It highlights matching text in the current interpreted or hexadecimal display; hex searches follow the underlying bytes across 8- or 16-byte row boundaries. Press Enter or click Next to move through the matches.

Image previews

The Explorer previews common Windows image types, standard uncompressed or RLE TGA images, supported MCM paletted TGA texture containers, PAL8 palettes, CMP embedded palettes, and CUB sky files. PAL8 and CMP colors appear in stored index order as 16×16 swatches. A CUB preview arranges its six decoded faces into a labeled inspection panorama.

Use Background... in the preview header to choose the canvas color behind images and 3D models. This is especially useful for transparent or dark DXT textures. Stored black pixels remain black; the control changes the canvas behind the decoded image. The selected color is remembered and is also available as Default preview canvas color under File > Settings.

Some MCM textures depend on another entry, such as a PAL8 palette. The Explorer resolves that companion by stored path and then by filename within the open archive.

For an open MCM2 ENV or MX vs. ATV Unleashed PAK, right-click one TGA, PNG, or BMP image and choose Create 452 x 220 Track Preview JPG. The selected image is scaled to 220 pixels high and placed against the right edge of the established Track Archive blue-gradient design. MCM2 titles come from the SCN SceneName; MVA titles come from [General] DisplayName in the PAK's .atyList. The JPEG is written beside the open archive with the ENV or PAK's base filename.

MCM2 .cub skies preview as a labeled cube net in MakeCub order: north, west, south, east, up, and down. To recover working artwork without first extracting the CUB, right-click its archive entry and choose Recreate 504 x 504 CUB Sky Faces. The Explorer writes f0010001.tga through f0060001.tga as 504×504, uncompressed 24-bit TGA files in a sky-specific subfolder. MakeCub reduced the original authoring images to 256×256 RGB555 faces, so these are scaled, authoring-compatible reconstructions rather than the lost original detail.

MX vs. ATV Unleashed DXT texture containers are previewed from their largest stored mip when their payload uses the verified DXT1/DXT3 block layouts or indexed variants 0x37/0x38. The entry list and preview heading identify editable BC1 / DXT1 or BC2 / DXT3 format, dimensions, and mip count so the matching GIMP DDS settings are visible before editing. This includes non-square skin textures whose smallest stored mip uses the game's 1×0 convention for an effective 1×1 compression block. ATX animated textures expose every embedded DXT frame through the image-layer selector. DXM material definitions are displayed as text. Compiled Xbox .xvu vertex and .xpu pixel shaders receive bounded structural summaries; the Explorer does not claim to decompile their opcodes or register programs.

MX vs. ATV Reflex .texture files preview their largest DXT1, DXT5, R32F, or A8R8G8B8 image and report dimensions and mip count. Runtime render-target declarations receive a metadata report when they contain no stored pixels. Non-power-of-two and padded DXT mip layouts used by the stock UI are validated. When a package entry is XMem/LZX-compressed, the Explorer decompresses it in memory when selected; Hex and extraction continue to use the unchanged stored bytes.

To edit an ordinary Reflex BC1/DXT1 or BC3/DXT5 texture, select it and choose Export Selected Reflex Texture as Editable DDS. Keep its displayed compression, dimensions, and complete mip chain when saving from the image editor. Select the same entry, choose Rebuild Reflex .texture from Edited DDS, and save the validated rebuilt container. Replace the same file in an extracted Reflex package folder and rebuild the package/database pair. New manifests remember LZX state and clear that asset's compression flag when a formerly compressed texture is replaced by a decompressed rebuilt container. R32F displacement, A8R8G8B8, runtime render targets, and special padded rasters do not use this DDS path.

For a rider/bike skin set, multi-select its .dxt, .texture, and .tga entries and choose Export Selected Skin Textures. The output folder includes numbered working files and a report describing every file's round-trip status. MVA and Reflex block-compressed textures become lossless editable DDS files. Conventional MCM/MCM2 TGAs are copied unchanged because they are already native editable images. Custom indexed/RGB555 MCM mip containers are decoded to PNG and marked artwork-only until a verified palette/MM2-LZW encoder exists.

Reflex UI and gameplay metadata receive type-specific reports rather than generic Hex. UI components retain formatted BXML; Lua scripts show their complete bounded source; font cells, localization tables, texture atlases, and icon geometry report validated counts and dimensions. Performance data summarizes animation blocks, additive/looping flags, hash marks, and timeline extent. Gameplay table databases inventory each table’s columns and rows. Compiled TDF, terrain, terrain-collision, Bink, and grass assets report their verified headers and structural counts without claiming unproven editing or rendering semantics.

Reflex version-11 .anim entries receive structural summaries after the same on-demand expansion. Both keyframe-controller and sampled skeletal representations report duration, frames or sample rates, position/rotation controllers, key/sample totals, and named controls. Camera animations additionally report FOV and near/far depth-of-field tracks. This is an inspection preview; it does not yet animate a model.

Reflex .scene preview lists its declared subscenes and every independently validated embedded SceneChunk, then summarizes exact root entity types, verified 4x4 transform bounds, asset occurrences and distinct identities, important terrain/model/surface/animation and environmental bindings, and frequently reused dependencies. Chunk count is not assumed to match subscene count.

Reflex .shader preview identifies each compiled vertex or pixel entry point, Shader Model 3.0 profile, bytecode size, compiler identity, and CTAB parameter/register assignments, including samplers. This allows comparison with a material's named shader entry points but does not decompile or reconstruct HLSL source.

Reflex .sound preview reports its packaged FMOD project, exact FEV1 payload size, and referenced .soundbnk names. A .soundbnk preview lists its FSB4 sample names, verified MPEG-1 Layer III codec, frequencies, channel counts, calculated durations, encoded byte sizes, and raw mode flags. Right-click a bank and choose Export Native Reflex FSB... to save its complete embedded FSB4 payload byte-for-byte. Choose Export Reflex Bank Samples as MP3... to create a numbered subfolder containing every named sample; the exporter removes only verified 2-byte MPEG-frame and 32-byte sample alignment padding and never re-encodes the audio.

Selecting a .soundbnk opens an individual-sample table in the audio preview. Select a row to see its details, then double-click it or click Play; Stop ends playback. The volume control applies from 0–100% for Reflex MP3 playback (values above 100% remain capped by Windows). Playback reconstructs one temporary MP3 in the system temporary folder and deletes it when stopped or when the selection changes. No permanent extraction is required and the package remains unchanged.

Reflex .collis preview renders top-level or transformed composite box, sphere, and cylinder primitives as well as explicit split-triangle collision meshes in the interactive 3D viewer. Drag to rotate, use the mouse wheel to zoom, and enable Wireframe to inspect the collision hull. Ray collision assets receive a structural report because the shared viewer currently renders faces rather than line segments. An unknown collision descriptor remains accessible in Hex and reports the limitation in the preview pane rather than interrupting the application.

Reflex .tree preview validates and reports its embedded BXML plus branch, frond, leaf, and 3D-leaf LOD/geometry totals. Reflex .forest preview validates the tree-type dependencies, cluster records, and placement arrays, then shows each placed tree as a scaled crossed marker in the interactive 3D viewer. The markers show distribution and scale without pretending to be the full SpeedTree geometry.

Reflex .water preview validates its transform, plane extents, optional half-float UV-flow field, and amplitude or height/amplitude description map. The interactive viewer applies the stored transform, removes masked cells, and uses the stored 16-bit height field when present. Use the water selector beside Wireframe to display blue water shading, the amplitude mask, normalized height, or normalized two-channel UV flow. Modes absent from an asset are labeled accordingly. This is a static asset preview; it does not reproduce animated waves, vehicle wakes, refraction, or the scene-selected water material.

Audio and MVA binary summaries

Select a RIFF WAV entry to view its encoding, channels, sample rate, bit depth, duration, and stored audio size. Play decodes supported stock MVA raw IMA ADPCM audio to PCM in memory and starts asynchronous playback through Windows; Stop ends it. Use the Volume slider from 0% through 400% to raise quiet assets. Its value is remembered and can also be entered as Default audio preview volume under File > Settings. Values above 100% amplify the temporary PCM preview and can clip already-loud audio. Archive bytes are never changed.

Standard Windows ICO files are previewed as images. MVA's game-specific .ico files are not Windows icon containers and instead receive a bounded structural summary. All supplied PST paletted textures render their largest Morton-order raster, including both 256-color/eight-bit and 16-color/four-bit families. WPT, BIN, LOC, LSI, PSG, VAG, XBX, RAW, and XLS assets receive format-specific image or structural previews rather than falling through to Hex.

CEL font-cell data, FSH compiled UI shapes, MLB motion libraries, MOT skeleton animations, and VUB sampled camera paths receive interpreted structural summaries and embedded identifiers. CEL needs its paired font texture for complete rendering; FSH requires a compiled-shape renderer; MLB and MOT require matching models and skeletons for visual animation. Hex remains available for every unresolved field.

To author a replacement texture, select one supported DXT and choose File > Export Selected DXT as Editable DDS or right-click it and choose Export DXT as Editable DDS. The Explorer writes a standard DDS into McmResourceExplorer_editable_textures, preserving the original compressed mip payloads. Its confirmation repeats the precise GIMP compression choice, dimensions, and mip count. Edit that DDS without changing those properties. Then select the same archive entry and choose Repack Selected DXT from DDS. The Explorer validates the edited DDS and replaces the original DXT payloads in memory while retaining its MVA variant, header, mip ordering, stored dimensions, and archive name. Save the PAK to commit the change.

The editable-texture folder is a working area and is ignored recursively by MCM2 and MVA folder rebuilding. Its DDS files therefore are not accidentally added to an archive. Paletted variants 0x37 and 0x38 can be previewed but are not BC-compressed DDS authoring targets; incompatible compression, changed dimensions, and missing mip levels are rejected rather than converted.

Text previews

Known text types include SCN, PB, SLT, TXT, INI, CFG, XML, JSON, CSV, OBJ, and MTL. Content detection also recognizes many text files with unknown extensions. Large text previews are bounded so that an unexpectedly large entry does not overwhelm the interface. Preview lines are numbered. Right-click the text display to copy the selection, copy the entire preview, or select all.

Hexadecimal previews

Select Hex to show offsets, hexadecimal bytes, and printable ASCII for recognized or unrecognized entries. The display is limited to the first 256 KiB, but extraction and saving preserve the complete entry.

Multiple selections

Selecting more than one entry prepares the selection for extraction and suppresses the single-file preview. The preview pane reports how many entries are selected.

Extracting files

Extract Selected

Select one or more rows and choose Extract > Extract Selected, click Extract Selected, or right-click and choose Extract Selected. Only those entries are written to the working folder, with stored subfolder paths preserved.

Extract All

Choose Extract > Extract All or click Extract All to write every entry. A rebuild manifest is also created. Keep the manifest with the extracted folder because it preserves archive ordering and layout information used by Rebuild Archive from Folder.

Safe stored paths

The Explorer rejects archive entry paths that would escape the selected destination folder. Existing subfolders inside the archive are recreated beneath the destination.

Adding and replacing files

Add Files

Choose File > Add Files or click Add. Select either one file or multiple files; each is added under its filename. If a filename already exists in the archive, the Explorer offers to replace that entry instead of creating an ambiguous duplicate. Adding and saving are supported for both MCM2 ENV/RES/TEX resources and MX vs. ATV Unleashed PAK archives.

Replace Selected File

Select exactly one entry and choose File > Replace Selected File, click Replace, or use the right-click menu. Pick the edited disk file that should become the entry's new data. The original stored entry name remains unchanged.

Adding or replacing changes only the in-memory session until Save Resource or Save Resource As is used.

Saving and rebuilding resources

Save Resource

Choose File > Save Resource, click Save Resource, or press Ctrl+S. The Explorer creates a backup when overwriting an existing resource, writes the updated archive, reopens it, and verifies every entry before marking the session clean.

Save Resource As

Choose File > Save Resource As to write the current session under another archive filename. This is useful when preserving the original resource for comparison.

Rebuild Archive from Folder

Choose File > Rebuild Archive from Folder or click Rebuild Folder, select a previously extracted folder, and choose the output archive name. When a manifest is present, the rebuild uses its original entry ordering and stored layout information, scans the folder recursively, and appends newly created files in deterministic filename order. After a successful rebuild, those additions are written into the MCM2, MVA, or Reflex manifest so subsequent rebuilds treat them as ordinary ordered entries rather than rediscovering them. Reflex also refreshes its preserved database baseline with the new asset records. The rebuilt archive is reopened and verified automatically.

For the most faithful round trip, start with Extract All, edit files without renaming unrelated entries, keep the manifest, and rebuild from that same folder. Rebuild scanning ignores both format-specific manifest files, generated McmResourceExplorer_*_terrain folders, and McmResourceExplorer_editable_textures DDS working copies.

The Explorer does not recreate original MCM2 or MX vs. ATV Unleashed track archives. Stock tracks remain available for extraction, inspection, preview, terrain export, and verification, but Save and Rebuild operations reject them. Detection uses embedded one-way fingerprints of the stock SCN/ATYLIST titles and TRN payloads; the application does not contain a readable stock-title list or stock game data. Custom and user-created tracks remain rebuildable.

Verifying a resource

Choose File > Verify Resource or click Verify. This checks the archive that is open in the Explorer. The format-specific reader opens the complete archive again and validates its header and directory, entry names, offsets and sizes, and every entry payload. MCM2 data is decrypted during this pass; MVA PAK bounds and directory records are checked; Reflex checks the paired database index against package heap offsets, sizes, and alignment. A successful result means the archive is structurally readable and all indexed data can be recovered. It does not prove that every modified asset is semantically valid or that the game will use it as intended.

If the session contains unsaved changes, the Explorer writes a temporary archive, verifies that temporary result, and deletes it afterward. Verification therefore tests what would be saved without silently overwriting the source archive.

Choose File > Verify Rebuild Folder or click Verify Folder to compare an extracted MCM2, MVA, or Reflex working folder with its rebuild manifest. The read-only report lists manifest entries that are now missing and additional eligible files that the next rebuild will append. It ignores the manifest itself and generated Explorer terrain/editable-texture folders, matching the rebuild scanner. It identifies entries whose size changed. New MCM2 and MVA manifests also store a SHA-256 hash of each decoded working file, allowing the report to detect same-name edits even when their byte size is unchanged. These baselines are written during extraction and refreshed only after a successful rebuild.

Older MCM2 and MVA manifests remain usable. Their files are shown under Existing entries without a content baseline until the folder is extracted again or rebuilt successfully; the report never guesses whether those files changed.

Working-folder settings

Open File > Settings to control extraction destinations, the default archive target folder, overwrite prompting, the default preview canvas color, and the default audio-preview volume. The archive target is used by Save As, folder rebuilding, and new Reflex package creation; blank uses the last folder. Overwrite prompting defaults on, while timestamped backups remain enabled in either mode. These per-user values are remembered between launches.

The normal automatic folder is named McmResourceExplorer_<resource-name>. Terrain extraction adds _terrain. These predictable folders make repeated editing and testing faster while keeping different resources separate.

Extracting terrain

Terrain inside an ENV resource

Open the ENV, select its TRN entry if more than one exists, then choose Extract > Extract Terrain Products or use the right-click command. If no TRN is selected, the Explorer uses the largest TRN entry.

After extraction, the source terrain remains selected and moves to the top of the visible file-list area so its generated OBJ, heightmap, texture, and report child rows are visible directly below it.

Depending on the terrain, output can include:

The OBJ files are standard Wavefront geometry and can be opened in the built-in viewer without Blender or another 3D package.

Standalone MCM1, MCM2, or MVA TRN

Choose File > Extract Standalone TRN and select the TRN. The extractor identifies the supported terrain family and writes the available products.

For MCM1 Nationals, place a same-base .dat beside the TRN if you want the viewer to find the spline automatically. A same-base SCN can provide additional scale information when available. MCM1 TrackEdit/SX TRNs export a 257×257 displacement map, OBJ mesh, and a 2016×2016 texture reconstructed from the leaf texture references, wrapping borders, and transforms. Matching 6,152-byte SX DAT and SCN sidecars are copied, but the SX DAT is a navigation field rather than a National spline. For MCM2, keep same-base TDF and SCN files with generated OBJ output for automatic pairing and alignment.

For MVA terrain, verified stock and user-track layouts export one or more 257×257 displacement maps. User-track TRNs also export a 960×960 main macro texture and, for Nationals, a separate 960×960 perimeter macro texture. The _d.dxt resource is the independent tiled high-detail overlay.

Terrain OBJ viewer

Choose Viewer > Open Terrain OBJ Viewer and select an OBJ generated by the Explorer. The viewer always draws the full terrain grid; it does not require a third-party 3D library.

Display controls

Mouse controls

Height and spline controls

The Height slider exaggerates elevation visually without changing the OBJ. MVA meshes default to 1.0× because sequential user-track OBJs already use game-world vertical dimensions. MCM1 and MCM2 meshes retain the established 3.0× viewing default. The slider supports fractional values down to 0.1×.

The World spline slider changes horizontal spline scale. Spline X and Spline Z provide exact translation. Reset spline restores scale and position derived from the paired SCN and terrain metadata.

Only spline segments that actually cross the displayed terrain tile are drawn. A perimeter OBJ therefore remains clear unless the track path leaves the center tile and crosses that perimeter area.

SLT object preview

Select an SLT entry to open its LOD 0 geometry in the preview pane. Supported MX vs. ATV Unleashed DXG version-5 models and the verified MCM2 compiled bike/rider SLB family use the same interactive viewer.

The current renderer draws SLT and DXG materials with a depth buffer and perspective-correct texture coordinates. SLT preserves each surface's material assignment, while DXG preserves every decoded mesh/material assignment. SLB currently resolves its primary texture. Higher LOD selection, multiple materials within one SLT surface, hierarchy animation, and deeper compiled-material assignment remain future work.

Menus and shortcuts

File

Open Archive, Extract Standalone TRN, Add Files, Replace Selected File, Save Resource, Save Resource As, Rebuild Archive from Folder, Verify Resource, Verify Rebuild Folder, Settings, and Exit.

Extract

Extract Selected, Extract All, and Extract Terrain Products.

Viewer

Open Terrain OBJ Viewer.

Help

MCM Resource Explorer User Guide, separate capability pages for Motocross Madness, Motocross Madness 2, and MX vs. ATV Unleashed, MCM2 Resource Format Documentation, Third-Party Notices, and About MCM Resource Explorer.

Keyboard shortcuts: Ctrl+O opens an archive and Ctrl+S saves the current resource.

Command-line operations

The executable also supports automation from Command Prompt or a batch file:


McmResourceExplorer extract archive.env output-folder
McmResourceExplorer extract track.pak output-folder
McmResourceExplorer pack extracted-folder rebuilt.env
McmResourceExplorer verify archive.res
McmResourceExplorer verifyfolder extracted-folder
McmResourceExplorer terrain input.trn output-folder
McmResourceExplorer viewobj terrain.obj

extract writes all entries and the format-specific rebuild manifest. MVA PAK extraction creates mva-pak.manifest.xml. pack selects MCM2 or MVA output from the manifest in the extracted folder. verify validates a supported archive without extraction. verifyfolder prints the read-only manifest comparison report. terrain runs standalone terrain conversion. viewobj opens the built-in terrain viewer directly.

Quote any path containing spaces.

Safety, backups, and troubleshooting

Preserve an original

Although Save creates a backup when overwriting a file, keeping a separate untouched copy of valuable game resources is recommended. Use Save Resource As while experimenting with an unfamiliar entry format.

A preview is hexadecimal

Hexadecimal display means that no safe specialized decoder currently recognizes the entry. It does not mean that the data is damaged. Extraction, replacement, rebuilding, and saving still preserve the entire file.

An image does not preview

The file may use an unsupported MCM encoding, may depend on a missing companion palette, or may be mislabeled. Check whether the matching PAL8 or related texture entry is present in the same resource.

A spline is absent or misaligned

Keep the TDF or DAT and, when available, the SCN beside the OBJ with matching base names. Use Load spline if automatic pairing cannot find it. Manual scale and X/Z controls can compensate for incomplete or unusual scene metadata; Reset spline returns to automatic values.

The application cannot be updated

Close all running copies of MCM Resource Explorer before replacing its executable or installing a newly built version. The installer is configured to detect and close the application during an update.

Current limitations

For technical structure and reverse-engineering details, open Help > Resource Format Documentation. For research acknowledgements and license terms, open Help > Third-Party Notices.