LoneDev6/GarageDoor
GitHub: LoneDev6/GarageDoor
1999年日本冒险游戏「GARAGE: Bad Dream Adventure」的首个英文翻译补丁,通过DLL注入和运行时图像替换实现跨系统兼容与本地化。
Stars: 22 | Forks: 2
# GarageDoor
针对日本电子游戏 [GARAGE: Bad Dream Adventure 「ガラージュ」](https://lostmediaarchive.fandom.com/wiki/Garage:_Bad_Dream_Adventure_(Found_Limited_Release_1999_Japanese_Point-and-Click_Game)) 的首个翻译破解补丁。\
允许在现代和旧版的非日语 Windows 系统上启动,同时应用必要的兼容性设置,注入翻译 DLL 并在运行时修补图像。
这已在 **Windows XP** 和 **Windows 11** 上经过测试,但它也应该适用于 **Windows XP** 之后的所有其他版本。
### 功能
- 在运行时翻译游戏文本
- 在运行时将游戏文本转储到文件
- 在运行时替换游戏图像
- 启用播放 Android 移植版中先前未使用的歌曲
# 💿 如何安装原版游戏
1. 下载 [7zip](https://www.7-zip.org/download.html)
2. 下载并打开 [`garage.7z`](https://archive.org/download/GarageBadDreamAdventure/garage.7z)
3. 解压 `garage.img.ecm`
4. 下载 [ECM Tools](https://archive.org/download/ECMToolsV1.0/ECM%20Tools%20v1.0.zip)
5. 将 `garage.img.ecm` 拖放到 `unecm.exe` 中
6. 等待程序运行完毕,在同一文件夹中获取 `garage.img`
7. 下载 [WinCDEmu Portable](https://wincdemu.sysprogs.org/portable/) 并运行
8. 将 `garage.img` 拖放到该程序中
9. 在“*计算机*”中找到挂载的虚拟 CD 驱动器并打开“*CD Drive (D:) GARAGE*”
10. 选中文件中的所有内容,然后将其复制到一个名为 `Garage` 的新文件夹中(你可以在任何你想要的位置创建它)
11. 点击“*Uninstall Driver*”并关闭 **WinCDEmu**
12. 你可以删除之前下载的所有文件,除了 `Garage` 文件夹
# 💾 如何安装英文补丁
1. 从 [releases](https://github.com/LoneDev6/GarageDoor/releases) 下载最新版的 **GarageDoor**。
2. 将内容解压到你的 **Garage** 游戏文件夹根目录下
3. 运行 `GarageDoor.exe`
## 在 Windows 7 及更高版本上运行
只需启动 `GarageDoor.exe`。
## 在非日语 Windows XP 上运行
1. 打开“控制面板” > “区域和语言选项”。
2. 转到“语言”选项卡。
3. 勾选“为东亚语言安装文件”。
4. 插入 Windows XP 安装 CD(可能需要日文 CD)。
5. 完成安装并重新启动计算机。
6. 转到“高级”选项卡。
7. 将“非 Unicode 程序的语言”设置为“日语”。
8. 重新启动计算机。
如有需要,可解压 `I386/SR3.CAB` 以获取所需文件。你可以将内容复制到 USB 驱动器,而不是刻录 CD。
# Director 补丁
此补丁会在运行时更新图像。
## 要求
你需要以下 xtras:
- `BMP Import Export.x32`
- `MIX32.X32`
- `budapi.x32`
# 翻译游戏
以下是游戏资源翻译的当前进度和历史记录:[Garage-Bad-Dream-Adventure-English-Assets](https://github.com/LoneDev6/Garage-Bad-Dream-Adventure-English-Assets)。
你可以直接通过提交修改来为该仓库做出贡献。请确保你遵循下面列出的准则。
## 翻译文本
- 要提取原始文本,请使用 [DirectorCastRipper](https://github.com/n0samu/DirectorCastRipper)
- 选中 `dir_data` 中的所有文件
- 在 `Export Formats` 下启用 `TXT`
- 删除任何你不需要翻译或编辑的文本文件
- 复制并粘贴 `delete_all_csv.bat`,并在 `Exports` 文件夹中运行它
- 将 `Exports` 文件夹的内容复制到 `dir_data/patch/` 文件夹中
将脚本 `fix_cast_ripper_txts.py` 和 `fix_cast_ripper_txts.bat` 复制并粘贴到 `Exports` 文件夹中,然后运行 `fix_cast_ripper_txts.bat`(只能运行一次!)。\
此脚本用于使 txt 变得可读和可编辑。
使用 Notepad++ 或 VSCode 编辑文件时,请确保在右下角看到 `SHIFT-JIS`。
保存你的文件。
注意:部分文本是使用 `tranlation.ini` 文件翻译的,以防某些文本被硬编码在游戏代码中,且无法通过编辑 `.txt` 文件来替换(例如物品获取和使用的提示信息)。
### 常见问题
#### 特殊文本文件规则
使用 `@` 将对话分隔到不同的文本框中。\
示例:
```
Your adaptation level has dropped. You should fix that soon.
You’d better go to the Adjustment Clinic.@
There’s a sign in front of your house that says “Outer Loop Entrance,” right?
```
每个对话框最多仅支持 4 行。
不要超过顶行的长度,否则消息会换行,但(由于游戏 bug)与顶行的距离会非常小。\
以此作为参考(最大长度:约 53 个字符):\
`-- --------------------------------------------------`.
不要翻译或编辑 `#` 和 `~` 后面的文本,因为它们是游戏使用的特殊标签。\
示例:`#Index 'オープニング 02'`
你可以编辑 `--` 之后的文本,这些注释供未来的阅读者参考,有助于了解对话发生的地点以及说话者的身份。\
示例:`-- ----------オープニング----------`
如果你看到空白框,可能是在保存时出现了错误,导致编码损坏或其他问题。请从游戏中获取一份干净的文件,并重新进行翻译。
## 翻译图像
- 与 `TXT` 导出的步骤相同,但需选择 `BMP`
- 删除任何你不需要翻译或编辑的文本文件
- 复制并粘贴 `delete_all_csv.bat`,并在 `Exports` 文件夹中运行它
- 将 `Exports` 文件夹的内容复制到 `dir_data/patch/` 文件夹中
### 保存编辑后的图像
你可以使用任何编辑器编辑图像。如果游戏无法识别你的 BMP 文件或崩溃,请尝试以下解决方案之一:
- 运行 `fix_bmps.bat` 脚本:将其复制到包含已编辑图像的文件夹中并执行。
- 在 Paint.NET 中打开你的 BMP 文件,并使用以下设置重新保存:
- 16-bit 色彩深度
- 中位切分调色板
- 转换为 sRGB 颜色配置文件
如果白色背景在游戏中显示不正确,请重新打开图像,手动擦除背景,用白色填充,然后再次保存。
## 其他提示
如果你遇到问题或该文件不存在,请创建一个空的 `dir_data\patch\log.txt`。
### 游戏崩溃
崩溃可能是由于过多失败的图像替换填满日志导致的。如有需要,可使用 BAT 文件来修复它们(需要 ffmpeg)。
# 开发者
在[这里](README_DEV.MD)你可以找到有关如何自行构建所有这些内容的的信息。
# 最终说明
此逻辑适用于任何其他 **Director** 游戏,但它是专门为使用 **Macromedia Director 6** 制作的 『ガラージュ』 Garage: Bad Dream Adventure 编写的。
### 💻开发与逆向工程
- [LoneDev](https://github.com/LoneDev6)
### 📕翻译
- [LoneDev](https://github.com/LoneDev6)
- [Morgan](https://www.youtube.com/channel/UClroPL_xY9RGlMbQJIMiiIw)
- FELON
- Saint
### 🎥Director 6 图像补丁
- [LoneDev](https://github.com/LoneDev6)
- [TOMYSSHADOW](https://github.com/tomysshadow)
- [nosamu](https://github.com/n0samu)
标签:UML, 兼容性补丁, 游戏模组, 游戏汉化, 端点可见性, 运行时注入, 逆向工具