Skip to content

Laserlicht/homm3-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HoMM3 Explorer

A pure browser-based file explorer for Heroes of Might and Magic III game archives. No server, no installation — just open index.html and start exploring.

Features

  • Drag & drop game files directly onto the page, or use the file picker
  • GOG installer support — open .exe or .bin GOG installers directly; HoMM3 data is extracted on the fly
  • ISO CD image support — open original HoMM3 CD images (.iso); game files are extracted directly or from InstallShield CABs
  • StuffIt support — open HoMM3 Mac Archives (.sit)
  • Archive browsing — navigate the contents of any supported container
  • Rich preview for all major asset types:
    • Images: .PCX, .D32 (raw RGBA), .DDS
    • Animations: .DEF sprite sheets with frame-by-frame playback
    • Fonts: .FNT bitmap fonts rendered as a full 16×16 character sheet
    • Audio: .SND archives containing WAV samples (in-browser playback)
    • Video: .VID archives with .SMK (Smacker) and .BIK (Bink) videos — decoded entirely in JavaScript
    • Maps / Campaigns: .H3M and .H3C - shows informations, statistics and previews
    • RMG Templates: .H3T (HotA Random Map Templates) — structured viewer with zone details and connection graph
    • Data tables: .DAT (HotA creature / unit data) — sortable table view, JSON export
    • Archives: .ZIP — browse and preview any contained game file
  • Export any file from an archive to disk
  • Grid / List view toggle for file browsers
  • Works fully offline after the page has loaded

Supported Formats

Extension Description
.LOD Main game archives (sprites, data)
.PAK Palette and resource packages
.SND Sound archives (WAV samples)
.VID Video archives (SMK / BIK clips)
.DEF Sprite / animation definitions
.PCX Paletted or 24-bit images
.PAC Packed resource files
.D32 Raw 32-bit RGBA images
.FNT Bitmap fonts (256-glyph indexed format)
.H3M Heroes of Might and Magic III map file
.H3C Heroes of Might and Magic III campaign file
.H3T HotA Random Map Template — structured viewer with packs, maps, zones and connections
.DAT HotA unit/creature data file (HotA.dat)
.ZIP Generic ZIP archive — browse and preview any contained file
.EXE GOG installer (Inno Setup, LZMA2 / zlib) or InstallShield v5 self-extracting archive
.ISO Original CD image (ISO 9660, InstallShield CABs)
.SIT StuffIt 5 archive (Mac CD distribution); decompresses inner Toast disc image (HFS), detects VISE installer automatically
Mac VISE 3.6 Lite Mac installer packed inside .SIT → HFS → VISE; game files extracted on the fly

Usage

  1. Open index.html in any modern browser (Chrome, Firefox, Edge, Safari).
  2. Drag a HoMM3 archive (e.g. H3bitmap.lod, VIDEO.VID) onto the page — or click Open File.
  3. Browse the file list. Click any entry to preview it.
  4. Use the Export button to save individual files.

No files are uploaded anywhere. Everything runs locally in your browser.

Architecture

File Role License
index.html Shell / entry point MIT
style.css UI styles MIT
app.js Application logic, UI, drag & drop, preview MIT
parsers.js HoMM3 format parsers (LOD, PAK, SND, VID, DEF, PCX, D32, FNT, DAT, ZIP) MIT
innoextract.js GOG / Inno Setup installer extractor MIT
isoextract.js ISO 9660 + InstallShield CAB extractor (based on unshield) LGPL-2.1-or-later
lzma2.js LZMA2 decompressor (based on 7-Zip SDK by Igor Pavlov) MIT
video-decoders.js SMK and BIK video decoders (derived from FFmpeg) LGPL-2.1-or-later
isextract.js InstallShield v5 self-extracting EXE decoder MIT
sitextract.js StuffIt 5 archive extractor (based on The Unarchiver / unar) LGPL-2.1-or-later
viseextract.js Mac VISE 3.6 Lite installer extractor — fully reverse-engineered format, custom VISE deflate decoder MIT
h3mparser.js H3M / H3C map and campaign parser, minimap renderer MIT

License

Component License
This project (all files except below) MIT
video-decoders.js (FFmpeg-derived SMK/BIK decoders) LGPL-2.1-or-later
isoextract.js (unshield-derived InstallShield CAB extractor) LGPL-2.1-or-later
pako (zlib/deflate) MIT
gif.js MIT
lzma2.js (based on 7-Zip SDK by Igor Pavlov) Public Domain

video-decoders.js contains algorithms and data tables derived from FFmpeg (libavcodec/smacker.c, bink.c, binkb.c) and is therefore licensed under the GNU Lesser General Public License v2.1 or later — see LICENSE-LGPL.

isoextract.js contains InstallShield CAB extraction logic based on research from unshield by David Eriksson and is therefore licensed under the GNU Lesser General Public License v2.1 or later — see LICENSE-LGPL.

HoMM3 format documentation and research courtesy of the VCMI Project.

Inno Setup installer format structure based on research from innoextract by Daniel Scharrer (zlib/libpng license).

InstallShield CAB format structure based on research from unshield by David Eriksson (LGPL-2.1 license).


Heroes of Might and Magic III is a trademark of Ubisoft. This project is not affiliated with or endorsed by Ubisoft.