开发日志 Dev Journal
逆向、复刻、踩坑与回填 —— 决不写推断当结论。
Sun Sep 13护盾碎裂联动机制:引擎原生支持什么、样例、运行时扩展方案 SHIELD BUFFER 被打碎时引擎会沿 LINK_NAME 连锁到期;原版靖魔者结界(CHAMP_BARRIER_*)就用它做「击破弱点元素小盾 → 整套护甲塌陷」。没有「护盾碎裂」这类游戏事件,「碎后获得 X」需要运行时补一个挂钩。附可直接用的 DAT 样例与运行时方案。2026-09-06TL2 左键触发机制逆向分析:Move/Attack 二合一、攻击距离判定与 64 条原版键位 逆向 Torchlight II 客户端里「左键点下去到底做了什么」这一条口径。KEYBIND.DAT 第一条绑定 Move/Attack 与 sub_42A4E0 分叉逻辑的双源互证;按住不放持续下单的 20 字节机器码证据;CCharacter::isTargetInAttackRange(sub_5350C0)先高度门、再水平距离的判定形状与 reach 的构成;远近由武器槽 unittype 决定的事实;MEDIA/KEYMAPPING 三份 DAT 共 64 条绑定的全表、原版数据自带的 CTRL+S 冲突,以及 w/s/a 三键对一切 WASD 类 MOD 的阻碍。所有虚地址与字节均取自 Torchlight2.exe,没逆到的部分逐条标注。2026-09-06TL2 关卡拼装与传送门逆向分析:两套生成器、61 字节判定表与 Warper 的层深决定链 深度解析 Torchlight II 关卡布局的两个来源([LAYOUT] 预设装配 vs 程序化生成器)与传送门(Warper)的完整决定链:`sub_60C760` 61 字节判定表与 `CLevelTemplateData` 构造缺省、`RANDOMIZED` 死键、两个互不相干的生成算法(出口配对式 `sub_6087A0` 与格子生长 + 对偶格贴瓦 `sub_60A9A0`)、13 个模式池的两侧索引法与语料对照;Warper descriptor 7 个字段的偏移与双 oracle 缺省值、`LEVEL DELTA=1` 管着 87% 的门、目标层深三分支、门到目标场景的五跳解析、6 个指向不存在 dungeon 的死门判据。所有虚地址针对 `Torchlight2.exe`,附墓碑与未闭环清单。2026-09-06TL2 复活、任务与容器系统逆向:死亡只扣金币、任务两态与 ICONABOVEHEAD 全 false、技能栏只有 4 格 逐键解析 Torchlight II 三个数据驱动子系统的逆向结论:MEDIA/RESURRECT 三条复活选项与加载器 sub_651DF0 的字段偏移(三条的 XP_PENALTY / FAME_PENALTY 全为 0,原版死亡只扣金币);MEDIA/QUESTS 184 个任务的 [DIALOG] 子块、DIALOG / DIALOG_COMPLETE 两态,以及 ICONABOVEHEAD 在全 MEDIA 16,084 份 DAT 中 445 处全部为 false 的普查;MEDIA/INVENTORY/CONTAINERS 30 个容器的格数与槽位名(MAIN BAG 24 / BODY 13 / SPELLSLOTS 4,技能栏不是 10 格)。任务完成条件、对话触发时机与 GLOBAL_TRILLBOT 特判已有后续逆向报告补完。2026-09-06TL2 走格寻路逆向分析:8 邻域 A*、恒 1.0 步长与平方启发,以及装饰物碰撞解耦机制 解析 Torchlight II 客户端寻路模块(0x462F60–0x464400)的算法机制:汇编指令验证为 8 邻域展开、正交与斜向每步代价恒定 1.0、启发函数采用欧氏距离平方(量纲不一致且不可采纳,原版无法保证最短路径);起点与目标各执行一次 ±16 格吸附、结点占用 64 字节、基于单链表按 f 升序维护 Open 表、具备迭代上限与 h < 2.0 提前收敛退出逻辑;可行走性判定(isWalkable 单点无半径)与路径规划判定(净空与拐角约束,无法规划穿行单格缝隙)属于两套独立机制。附 7 张官方地图走格连通分量普查与静态装饰物穿透现象分析。2026-09-05Mikuro Runtime Hook 架构全景与技术实现总账 —— 引擎缺陷修复、机制扩展与运行期拦截规范 tl2-mikuro-runtime(基于 MinHook 与 ImGui 构建的注入式 d3d9.dll 代理)当前全部 Hook 与内存补丁的技术实现总账。文档涵盖「原版缺陷托底 / 机制修正 / MOD 兼容 / 启动性能 / 掉落过滤 / 死槽 131 自定义效果 / 卷轴与附魔渠道 / 视觉渲染 / 操控模式 / 诊断探针」十类核心体系,逐项记录目标函数、拦截方式、功能职责、配置开关与降级回退策略;附初始化装载时序、八大安全准则、开关与热键速查表及历史演进记录。2026-09-05TL2 怪物 DAT 属性逆向分析:命名误区与底层真实语义 深度解析 Torchlight II 怪物相关 DAT 属性的逆向结论:涵盖 AI 行为圈层的六个判定半径与视野全张角语义、AITYPE 八大枚举的底层 Handler 分派收敛、[SKILL] 块中抽签权重与百分比门限的区分、技能 DAT 引擎缺省值、Missile 描述符 55 项字段偏移与历史勘误、Populate 刷怪数量公式及 PPROPS_MAX 拼写陷阱。提供汇编地址级别(Torchlight2.exe)的技术支撑与官方数据普查对照。2026-07-25.MOD 里到底装了什么 —— Torchlight II 打包格式完全解析 从 MOD 源文件夹到可在游戏内加载的 .MOD 文件,系统解析全链路技术细节:容器封装规格、五类二进制编译格式、底层 rollingHash 校验算法以及寻路网格(.mpp)生成机制。深入剖析“启动器勾选却无效果”、“角色头像异常”、“副本无法移动”等常见故障背后的底层成因。2026-07-24TL2 TAG 系统逆向:引擎零校验,与 property key 排查 引擎按 rghash 匹配 tag、运行时零校验 TAGS.DAT —— mod 里任意 tag 都能用;附 GUTS 那条刷屏 no-match 警告的真相,与两个整合 mod 的 property key 实测排查。(2026-07-25 追加第 9 节勘误:名字分两个命名空间,「引擎硬编 tag = 0」的搜法失效。)2023-08-05火炬之光2 IMBA MOD 修改笔记 IMBA MOD 修改的技术笔记与数据侧改动记录。