lainTSX 本地构建教程:如何用 extract.mjs 从 PSX 光盘镜像提取游戏资源
lainTSX 本地构建教程如何用 extract.mjs 从 PSX 光盘镜像提取游戏资源【免费下载链接】lainTSXWebGL implementation of the Serial Experiments Lain PSX game项目地址: https://gitcode.com/gh_mirrors/la/lainTSXlainTSX 是一个基于 WebGLthree.js在浏览器中重制《Serial Experiments Lain玲音》PSX 游戏的免费开源项目。由于仓库不托管任何游戏资源lainTSX 本地构建的第一步就是使用自带的 extract.mjs 脚本从 PSX 光盘镜像中提取全部游戏资源。本教程将一步步带你完成环境准备、镜像整理、资源提取和本地运行全程无需写一行代码。一、为什么 lainTSX 需要自己动手提取资源《Serial Experiments Lain》PSX 游戏于 1998 年在日本发售从未推出过官方英文版。受版权限制lainTSX 仓库中只包含引擎代码与字幕翻译文件不包含任何游戏本体资源。因此lainTSX 本地构建 代码仓库 你自备的 PSX 光盘镜像。项目提供的 extract.mjs 脚本会自动完成拆盘 → 解包 → 转码的全流程把光盘里的视频、语音、立绘、背景图、音效和音乐全部转换成浏览器友好的格式。整个资源提取由一组分工明确的脚本模块完成全部位于scripts/目录下总入口scripts/extract.mjs负责流程编排与参数解析视频与音频scripts/extract_media.mjs调用 jPSXdec 解出 AVI/WAV 后用 FFmpeg 转成 MP4角色语音scripts/extract_voice.mjs从 VOICE.BIN 中按偏移切出全部语音立绘与动画帧scripts/extract_lapks.mjs解析 LAPKS.BIN 并合成精灵表站点背景图scripts/extract_site_images.mjs解压 SITEA.BIN / SITEB.BIN音效与音乐scripts/extract_sfx.mjs、scripts/extract_music.mjs从 SND.BIN 渲染出 34 个音效和两首主题曲结果校验scripts/validate.mjs提取结束后自动检查资源完整性二、构建前准备安装三件必需工具在运行 extract.mjs 之前请确保系统已安装以下三个命令行工具工具作用最低版本Java运行 jPSXdec解析 PSX 光盘的音频视频任意较新版本FFmpeg把 AVI / WAV 转码为浏览器可播放的 MP4任意较新版本ImageMagick合成精灵表、处理透明通道与裁剪必须 7分别在终端中执行以下命令检查是否就绪java -version ffmpeg -version magick --version 注意ImageMagick 7 及以上版本的命令是magick旧版本是convert。如果提示找不到命令说明版本过旧或未加入 PATH需要先安装或升级。另外还需要Node.js环境用于安装项目依赖并运行开发服务器。三、获取并整理 PSX 光盘镜像disc1.bin / disc2.bin《Serial Experiments Lain》PSX 游戏共有两张光盘。将两张盘的镜像文件整理成如下格式在项目根目录下创建scripts/discs文件夹把两张光盘镜像分别命名为disc1.bin和disc2.bin放入该文件夹。最终目录结构应为lainTSX/ └── scripts/ └── discs/ ├── disc1.bin └── disc2.binextract.mjs 启动时会先检查这两个文件是否存在缺失则会直接退出并提示。四、一键提取运行 extract.mjs 的完整步骤一切就绪后按以下顺序操作即可完成 lainTSX 本地构建第 1 步克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/la/lainTSX cd lainTSX npm install第 2 步放置光盘镜像按上一节操作第 3 步运行资源提取脚本node scripts/extract.mjs脚本会依次执行以下动作用 jPSXdec 为两张盘生成索引.idx提取过场视频转码到public/media/movie/提取背景音乐转码到public/media/audio/提取角色语音到public/voice/解析 LAPKS.BIN把玲音立绘与对话动画帧合成精灵表到src/static/sprites/lain/并额外生成表情轮盘图片到public/emote-wheel/解压站点背景图到public/media-background-images/从 SND.BIN 渲染 34 个音效与lain_theme、about_theme两首主题曲到public/sfx/最后运行validate.mjs校验全部资源是否完整。整个过程耗时取决于镜像大小与机器性能耐心等待终端输出完成即可。五、extract.mjs 常用参数详解按需加速如果你只想提取部分资源比如只需要画面、暂时不要音效extract.mjs 提供了非常灵活的开关参数参数作用--no-index跳过光盘索引生成索引文件必须已存在--no-video不提取过场视频--no-audio不提取背景音乐--no-voice不提取角色语音--no-lapks不提取立绘精灵表--no-sprites不提取精灵图--no-site-images不提取站点背景图--no-sfx不提取音效--no-music不渲染主题曲--tempdir 路径指定临时工作目录默认在系统临时目录自动创建--no-delete保留全部临时文件便于排查问题⚠️ 会占用 6GB 磁盘空间最快提取方法如果你第一次只想快速跑通流程可以跳过体积较大的音视频node scripts/extract.mjs --no-video --no-audio --no-music --no-sfx调试时推荐结合--tempdir与--no-delete使用失败后可检查临时目录里的中间文件node scripts/extract.mjs --tempdir ./tmp_extract --no-delete六、提取完成本地运行与验证资源提取并校验通过后就可以启动游戏了。package.json中提供了三个常用命令npm run dev # 启动开发服务器浏览器实时预览 npm run build # 编译 TypeScript 并打包生产版本 npm run preview # 本地预览打包产物执行npm run dev后按终端提示打开本地地址即可在浏览器中体验 WebGL 版《Serial Experiments Lain》包括多语言字幕、动画立绘和完整音效。七、常见问题排查❓ 提示xxx is not available, exiting.某个依赖工具不在 PATH 中。extract.mjs 启动时会依次检查magick、ffmpeg、java按提示安装缺失的工具即可。❓ 提示disc1 not found, exitingscripts/discs/disc1.bin不存在或文件名不对请检查镜像是否已按要求命名并放置。❓ ImageMagick 版本过旧extract.mjs 依赖 ImageMagick 7 的magick montage等命令旧版会报错。请升级到 7 以上版本。❓ 磁盘空间不足提取过程会产生大量临时文件。默认脚本结束时会自动清理若使用了--no-delete请记得手动处理也可以改用--tempdir指向空间充足的磁盘分区。❓ 只缺音效游戏能玩吗能。目前提取脚本尚未覆盖部分 SFX但游戏本体流程不受影响依然可以正常运行。到这里你已经完成了 lainTSX 本地构建与 PSX 游戏资源的完整提取。从准备光盘镜像、安装工具到运行 extract.mjs 一键拆解资源再到npm run dev在浏览器里打开玲音的世界——整个过程比想象中简单得多。如果遇到问题善用--no-delete保留现场并对照scripts/下各模块脚本尤其是scripts/psx_sound.mjs的音频解码逻辑排查即可。祝你构建顺利玩得愉快【免费下载链接】lainTSXWebGL implementation of the Serial Experiments Lain PSX game项目地址: https://gitcode.com/gh_mirrors/la/lainTSX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考