Asset browser for Metal Gear Solid games (and others). This project is licensed under the MIT license. Support for M2 files is provided as a separate project, licensed under the GPL v3 license.
Support for the following formats is implemented:
- Archives
- Generic
- .iso Images
- .bin/cue Images
- .zip Files [read & write]
- .ciso GameCube images
- Metal Gear Specific
- M2 Archive (Master Collection v1)
- .psb.m Packaging Format
- .dar Archives (MGS1) [read & write]
- .sdt Sound Packs (MGS2)
- .sdx Sound Packs (MGS2)
- STAGE.DIR Archive (MGS1 & MGSVR)
- STAGE.DAT Archive (MGS2 & TTS)
- FACE.DAT Archive (MGS1)
- DEMO.DAT Archive (MGS1)
- .brf Briefing Files (MGS1 & MGSVR)
- .slot Data Files (MGS4)
- M2 Archive (Master Collection v1)
- Generic
- Files
- Generic
- CD Audio Tracks
- All Basic Image Formats (PNG, JPEG, BMP, etc.)
- All Basic 3D Formats (FBX, OBJ, STL, STEP, etc.)
- WAV & MP3 Audio Files
- .pcx Image Files
- Metal Gear Specific
- .pll Image Files (MGS1)
- .kmd Model Files (MGS1)
- .kms Model Files (MGS2)
- .tri Texture Files (MGS2 & MGS3)
- .ctxr Texture Files (MGS2 & MGS3)
- .txp Texture Files (MGS PW)
- .mdn Model Files (MGS4)
- .rpk Texture Files (MGS1) [read & write]
- Generic
To view Master Collection resources, you will need to have a copy of the game on your system. The tool will automatically detect the Steam location of the game, but you can browse to any location as desired.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
sudo apt install -y libassimp-dev libmagickwand-dev mesa-utils
sudo apt-get install -y dotnet-runtime-9.0
chmod +x Codec.UI.Avalonia// Setup
var services = Codec.UI.ServiceRegistration.RegisterHeadless();
var fsm = services.GetRequiredService<NestedFileSystemManager>(); // Grab the root filesystem.
// API
fsm.EnumerateEntries(@"G:\Rip\Exp\METAL GEAR SOLID DISC 1.CUE\MGS\FACE.DAT/0/f73b.face").Dump();
var path = "...";
using var readA = fsm.OpenRead(path);
using var readB = fsm.Open(path, new FileStreamOptions { Mode = FileMode.Open, Access = FileAccess.Read, Share = FileShare.Read });
using var readC = fsm.Open(path, new FileStreamOptions { Mode = FileMode.Open, Access = FileAccess.Read, Share = FileShare.None }); // Read/write file locks are supported hierarchically.
using var write = fsm.Open(path, new FileStreamOptions { Mode = FileMode.Open, Access = FileAccess.ReadWrite, Share = FileShare.ReadWrite }); // Read/write is supported on some filetypes.
// Some files are virtual and cannot be written. This will throw:
using var virtualA = fsm.Open(@"...\MGS\FACE.DAT/0/f73b.face/base.img", new FileStreamOptions { Mode = FileMode.Open, Access = FileAccess.ReadWrite, Share = FileShare.None });
// Some filesystems are read-only and cannot be written. This will throw:
using var virtualB = fsm.Open(@"...\METAL GEAR SOLID DISC 1.CUE\...", new FileStreamOptions { Mode = FileMode.Open, Access = FileAccess.ReadWrite, Share = FileShare.None });
// You can obtain bitmaps from known image types using:
var bitmap = fsm.Resolve<MagickImage>(path);
// Likewise with Auio streams:
var audio = fsm.Resolve<AudioStream>(path) ?? (AudioStream)fsm.OpenRead(path);
// And 3D Objects:
var scene = fsm.Resolve<RenderableScene>(path);| Project | License | Details |
|---|---|---|
| Silk.NET | MIT | 3D rendering and windowing |
| Assimp | MIT + BSD-3-Clause | 3D object loading and saving |
| Magick.NET | Apache 2.0 | Image loading and saving |
| NAudio | MIT | Audio loading and playing |
| System.IO.Abstractions | MIT | Nested filesystems |
| CueSharp | BSD-2-Clause | CUE format |
| DiscUtils | MIT | ISO format |
| GMWare.M2 | GPL 3.0 | M2 Archive format |
| metalgeardev/MGS1 | Reference code | |
| mgs_reversing | Reference code | |
| tools-mgs | zlib | Reference code |
| CtxrTool | MIT | Reference code |
| MGS-Master-Collection-Noesis | Reference code | |
| kmy2ob | Reference code | |
| Arsenal | MIT | Reference code |
| Solideye | MIT | Reference code |
| MGS-MDP-Noesis | Reference code | |
| MGS2-Sound-Tools | MIT | Reference code |
| Metal Gear Master Collection | Non-transferrable | You need your own license to this software, and your license may not cover this usage. |
| Digital-7 Font | Freeware for home use | Frequency display (coming soon) |
| Font Awesome Free Icons | CC BY 4.0 | Used for UI icons |





