Coming Heart 资源分析(一)

我要开始资源分析的第三个系列了,不晓得有没有人期待这个,估计不多, 因为我只是在好奇我儿时的游戏里都有些什么。这次的游戏更加冷门了, May-be Soft 的 Coming Heart,但是更有挑战性, 因为这是一个 windows 3.x 上面的游戏,不过可以在 win9x 系统上运行。 本系列主要用到的工具是 Turbo Debugger for Win32, 如果你碰巧也想学习 tdw 如何使用,那么我们一起开始吧。

目录

  1. 环境准备
  2. Cutter、TDW、CreateFile
  3. 按位读取、调色板
  4. 图像读取(一)
  5. 图像读取(二)
  6. 脚本读取

准备环境

dosbox 这次帮不了我们什么忙了,所以我们首先要从安装系统开始:

1. Win98 虚拟机

我是在 PCem 上安装中文 Win98 的,当然无「外力」介入的情况下, 这样会有文字显示的问题,不过我们不是为了玩游戏,这个无所谓。 当然也可以安装日文 Win98,对于我来说安装中文系统更方便一点。 另外,选择 PCem 前我其实也用过 dosbox-x 来安装 Win98,安装系统没有问题, 但是安装还是运行 debugger 时蓝屏了,所以我放弃了 dosbox-x。

2. 虚拟机安装 Turbo Debugger for Win32

调试 win16 的程序需要在 Win98 上安装专用的调试器程序, 这个我们选择了当时的主流工具 Borland C++ 5.0, BC5 中包含了 Turbo Debugger for Win32,所以我们完整安装 BC5 就好, 记得那时候的经典操作:「安装后重启」。喔另外再唠叨一点, 对于这种我们不熟悉但是很重要的软件,我个人建议完全按照默认设置安装, 不要自订安装、不要更改安装目录,多数情况下可以给我们减少不少麻烦。

3. 虚拟机安装 Coming Heart

这个直接插入光盘安装就好,默认安装的话,程序的目录在 C:\WINCH 下

4. cutter

这是一个反编译的工具,可以安装在现代系统上,可以查看汇编以及反编译后的代码, 也有图形化的调用关系显示,方便我们理解代码流程。注意,这个不是装在虚拟机中的, 直接装在我们的主机上就好。

调试

启动 TDW,注意取消汉字显示的按钮,这样文字 UI 才能正常显示, 我们点击 File 菜单中的 Change dir…:

change dir

指定目录为 C:\WINCH:

winch

点击 File / Open…:

file/open

点击 Browse:

browse

选择 maplwin.exe,点击 OK:

maplwin

点击 OK:

ok

tdw 会提示我们没有符号表,很正常,因为我们没有程序代码,点击 OK:

no symbol table

这时,我们就停留在程序的入口了,我们可以点击右上角向上的箭头,让窗口撑满:

max

对比一下 cutter 的入口:

Untitled

完全相同!

总结

现在我们已经有了可以调试游戏的环境,接下来,我们就可以正式开始调试程序了。