# 纹理替换功能已集成

## 摘要

**gakumas-texture-TL** 文件夹的图片替换功能已完全融合进主项目。现在只需使用 **version.dll** 一个文件即可同时实现:
- ✅ 文字翻译
- ✅ 纹理/图片替换

**不再需要** xinput1_3.dll!

## 快速开始

### 1. 启用功能

编辑 `resource/localizationConfig.json`:
```json
{
  "enableTextureReplace": true
}
```

### 2. 配置资源映射

编辑 `resource/local-files/textures/asset_mapping.txt`:
```
img_general_comic_0001=comic/1ko/img_general_comic_0001.png
img_general_comic4_0000=comic/4ko/img_general_comic4_0000.png
```

### 3. 放置图片

将图片文件放到 `resource/local-files/textures/` 对应子目录:
```
textures/
├── comic/1ko/          # 一格漫画
├── comic/4ko/          # 四格漫画
├── general_report/     # 好感度档案
├── ui/                 # UI按钮
└── tutorial/           # 教程图片
```

### 4. 使用

只需将 `version.dll` 放到游戏目录即可!

## 目录结构变化

```
gkms-localify-dmm/
├── gakumas-texture-TL/          # 可以保留作为参考,不再需要编译
├── src/
│   └── GakumasLocalify/
│       ├── TextureReplace.h     # 新增: 纹理替换模块
│       ├── TextureReplace.cpp   # 新增: 纹理替换实现
│       ├── Hook.cpp             # 修改: 集成纹理Hook
│       └── config/
│           ├── Config.hpp       # 修改: 添加enableTextureReplace
│           └── Config.cpp       # 修改: 配置加载/保存
├── resource/
│   ├── localizationConfig.json  # 修改: 添加enableTextureReplace配置项
│   └── local-files/
│       └── textures/            # 新增: 纹理替换资源目录
│           ├── README.md        # 使用说明
│           ├── asset_mapping.txt # 资源映射配置
│           ├── comic/
│           ├── general_report/
│           ├── ui/
│           └── tutorial/
└── docs/
    └── TEXTURE_REPLACE_INTEGRATION.md  # 详细集成文档
```

## 核心改动

### 新增文件
1. `src/GakumasLocalify/TextureReplace.h/cpp` - 纹理替换核心模块
2. `resource/local-files/textures/README.md` - 使用说明
3. `docs/TEXTURE_REPLACE_INTEGRATION.md` - 详细集成文档

### 修改文件
1. `src/GakumasLocalify/Hook.cpp` - 集成AssetBundle Hook
2. `src/GakumasLocalify/config/Config.hpp` - 添加配置项声明
3. `src/GakumasLocalify/config/Config.cpp` - 实现配置加载
4. `resource/localizationConfig.json` - 添加enableTextureReplace

## 技术亮点

- **统一Hook系统**: 复用现有的AssetBundle Hook
- **配置集成**: 纳入统一的配置管理系统
- **日志集成**: 使用统一的日志输出
- **目录规范**: 遵循项目现有的目录结构
- **零依赖**: 无需额外的DLL文件

## 迁移建议

如果你之前使用 xinput1_3.dll:

1. 复制 `gakumas-texture-TL/gakumas-local-texture/asset_mapping.txt` 到 `resource/local-files/textures/`
2. 复制所有图片文件到 `resource/local-files/textures/` 对应子目录
3. 在配置文件中启用 `enableTextureReplace`
4. 删除 `xinput1_3.dll`
5. 只使用 `version.dll`

## 详细文档

查看 [docs/TEXTURE_REPLACE_INTEGRATION.md](docs/TEXTURE_REPLACE_INTEGRATION.md) 了解:
- 完整技术细节
- Hook工作流程
- 调试方法
- 常见问题解答

## 开发者备注

- 集成完成日期: 2025年11月26日
- xinput1_3.dll 的所有功能已通过 version.dll 实现
- gakumas-texture-TL 文件夹可以保留作为参考,但不再需要编译使用
