07
技术档案 ─ 本站的每个字节从哪来spec
格式规格Ghidra 反编译 + 对照验证
| PACL 容器 | ALLCUR.CUR / ALLARD.ARD / SEEN.TXT;条目表 0x20/项,LZSS(MSB-first, 2..17 字节回拷)压缩 |
|---|---|
| PDT10/11 图像 | 640×480 24bpp BGR;RLE 匹配 (u16&0xF)+1 像素;39 张立绘带独立 alpha 平面 |
| KOEPAC 语音 | 块式 4bit 差分(ADJUST/SAMPLE 双表);134 包 2607 条 WAV,22.05kHz/16bit 单声道 |
| TPC32 剧本 | 头 0x58;0xFF+u32 消息号+SJIS 文本+0x00;0x0E 0x21+6B = 语音指令,与 Z{场景号}_*.wav 顺序一一对应(本站验证) |
| 音频 | BGM 44.1kHz/16bit PCM WAV ×15;SE ×32;RAIN 环境声 |
复现脚本local scripts
- theater_extract.py ─ TPC32 指令流解析,台词↔语音对齐(本站剧场数据源)
- pacl.py / lz.py ─ PACL + LZSS(与 CR_TEST.CUR 逐字节自检)
- pdt2.py / extract_pdt2.py ─ 514 张 RGBA PNG
- koe.py / extract_koe.py ─ 2607 条语音 WAV
- seen.py / extract_seen.py ─ 16975 条对话文本
提取全量数据与格式细节见 README.md。伪代码:Ghidra 12.1.4 反编译 776 函数。
提取流水线 ─ 从光盘到图录pipeline
STEP 1原版光盘合法持有的日版光盘,AVG32 引擎(CRAFTWORK, 2001)。
STEP 2PACL 解包pacl.py / lz.py──ALLCUR.CUR · ALLARD.ARD · SEEN.TXT,LZSS 流与 CR_TEST.CUR 逐字节自检。
STEP 3三路提取pdt2.py → 514 张图像;koe.py → 2607 条语音;seen.py → 16975 条对话。
STEP 4指令流对齐theater_extract.py──TPC32 的 0x0E 0x21 语音指令与台词逐条对齐(本站验证 1:1)。
STEP 5装订成册web/ 多页图录──剧场、讲解、论考、图版室,全部由上述产物直接驱动。
全程未使用任何官方资源包;伪代码来自 Ghidra 12.1.4 对 AVG3217D.EXE 的 776 个函数反编译,格式结论均经对照验证。