Laserlicht/homm3-explorer

GitHub: Laserlicht/homm3-explorer

纯浏览器端的《英雄无敌 III》游戏归档浏览器,支持多种资源格式预览与导出。

Stars: 1 | Forks: 0

# HoMM3 资源管理器 一个纯浏览器端的**魔法门之英雄无敌 III (Heroes of Might and Magic III)** 游戏归档文件浏览器。无需服务器,无需安装 —— 只需打开 `index.html` 即可开始浏览。 ## 功能 - **拖拽** 游戏文件直接到页面上,或使用文件选择器 - **GOG 安装包支持** —— 直接打开 `.exe` 或 `.bin` GOG 安装包;HoMM3 数据即时提取 - **ISO CD 镜像支持** —— 打开原始 HoMM3 CD 镜像 (`.iso`);游戏文件可直接提取或从 InstallShield CAB 中提取 - **归档浏览** —— 浏览任何受支持容器的内容 - 对所有主要资源类型的 **富预览**: - 图像:`.PCX`, `.D32` (raw RGBA), `.DDS` - 动画:`.DEF` 精灵表,支持逐帧播放 - 字体:`.FNT` 位图字体,渲染为完整的 16×16 字符表 - 音频:`.SND` 归档,包含 WAV 样本(浏览器内播放) - 视频:`.VID` 归档,包含 `.SMK` (Smacker) 和 `.BIK` (Bink) 视频 —— 完全由 JavaScript 解码 - **导出** 归档中的任何文件到磁盘 - 文件浏览器的 **网格 / 列表视图** 切换 - 页面加载后可完全离线工作 ## 支持的格式 | 扩展名 | 描述 | |-----------|-------------| | `.LOD` | 主游戏归档 (精灵, 数据) | | `.PAK` | 调色板和资源包 | | `.SND` | 声音归档 (WAV 样本) | | `.VID` | 视频归档 (SMK / BIK 片段) | | `.DEF` | 精灵 / 动画定义 | | `.PCX` | 调色板或 24 位图像 | | `.PAC` | 打包的资源文件 | | `.D32` | 原始 32 位 RGBA 图像 | | `.FNT` | 位图字体 (256 字形索引格式) | | `.EXE` | GOG 安装程序 (Inno Setup, LZMA2 / zlib) | | `.ISO` | 原始 CD 镜像 (ISO 9660, InstallShield CABs) | ## 用法 1. 在任何现代浏览器 (Chrome, Firefox, Edge, Safari) 中打开 `index.html`。 2. 将 HoMM3 归档 (例如 `H3bitmap.lod`, `VIDEO.VID`) 拖到页面上 —— 或点击 **Open File**。 3. 浏览文件列表。点击任何条目进行预览。 4. 使用 **Export** 按钮保存单个文件。 ## 架构 | 文件 | 作用 | 许可证 | |------|------|---------| | `index.html` | Shell / 入口点 | MIT | | `style.css` | UI 样式 | MIT | | `app.js` | 应用程序逻辑, UI, 拖拽, 预览 | MIT | | `parsers.js` | HoMM3 格式解析器 (LOD, PAK, SND, VID, DEF, PCX, D32, FNT) | MIT | | `innoextract.js` | GOG / Inno Setup 安装程序提取器 | MIT | | `isoextract.js` | ISO 9660 + InstallShield CAB 提取器 (基于 unshield) | **LGPL-2.1-or-later** | | `lzma2.js` | LZMA2 解压缩器 (基于 Igor Pavlov 的 7-Zip SDK) | MIT | | `video-decoders.js` | SMK 和 BIK 视频解码器 (源自 FFmpeg) | **LGPL-2.1-or-later** | ## 许可证 | 组件 | 许可证 | |-----------|--------| | 本项目 (除下列文件外的所有文件) | [MIT](LICENSE-MIT) | | `video-decoders.js` (源自 FFmpeg 的 SMK/BIK 解码器) | [LGPL-2.1-or-later](LICENSE-LGPL) | | `isoextract.js` (源自 unshield 的 InstallShield CAB 提取器) | [LGPL-2.1-or-later](LICENSE-LGPL) | | [pako](https://github.com/nodeca/pako) (zlib/deflate) | MIT | | [gif.js](https://github.com/jnordberg/gif.js) | MIT | | `lzma2.js` (基于 Igor Pavlov 的 7-Zip SDK) | 公共领域 | `video-decoders.js` 包含源自 [FFmpeg](https://ffmpeg.org) (`libavcodec/smacker.c`, `bink.c`, `binkb.c`) 的算法和数据表,因此根据 **GNU Lesser General Public License v2.1 or later** 授权 —— 参见 [LICENSE-LGPL](LICENSE-LGPL)。 `isoextract.js` 包含基于 David Eriksson 的 [unshield](https://github.com/twogood/unshield) 研究的 InstallShield CAB 提取逻辑,因此根据 **GNU Lesser General Public License v2.1 or later** 授权 —— 参见 [LICENSE-LGPL](LICENSE-LGPL)。 HoMM3 格式文档和研究由 [VCMI Project](https://vcmi.eu) 提供。 Inno Setup 安装程序格式结构基于 Daniel Scharrer 的 [innoextract](https://github.com/dscharrer/innoextract) 研究 (zlib/libpng 许可证)。 InstallShield CAB 格式结构基于 David Eriksson 的 [unshield](https://github.com/twogood/unshield) 研究 (LGPL-2.1 许可证)。 *Heroes of Might and Magic III 是 Ubisoft 的商标。本项目与 Ubisoft 无关,也未受其认可。*
标签:BIK, BSD, CMS安全, DEF, GOG安装包支持, HoMM3, Inno Setup, InstallShield, ISO镜像支持, JavaScript, LOD, PAK, PCX, SMK, 免安装, 动画解码, 图片查看器, 复古游戏, 多媒体处理, 存档查看, 拖拽上传, 数据可视化, 数据挖掘, 文件解析器, 文件预览, 浏览器端, 游戏修改, 游戏归档浏览器, 游戏资产, 离线可用, 纯前端, 自定义脚本, 英雄无敌3, 视频播放器, 资源提取工具, 逆向工程工具