第三代精灵图鉴数据结构
Love Poke,Wiki Poke
跳到导航跳到搜索
精灵图鉴数据结构为一块36字节(绿宝石为32字节)的数据。
第三代游戏中的每一个种族都有一些数据,这些数据被图鉴相关的函数调用,或者被一些技能调用。
| 图鉴数据 | |
|---|---|
| 种类 | 12字节 |
| 身高(分米) | 2字节 |
| 体重(百克) | 2字节 |
| 介绍文本指针 | 2个,每个4字节(见备注) |
| 精灵缩放 | 2字节 |
| 精灵偏移 | 2字节 |
| 训练家缩放 | 2字节 |
| 训练家偏移 | 2字节 |
备注
- 种类占用12字节,0x00填充空余字节。注意这是种类而非种族,比如,
№001 妙蛙种子为“种子宝可梦”,而非“妙蛙种子”。 - 身高以分米为单位,在一些游戏中会转换为其他单位。
- 体重以百克(10-1千克)为单位,在一些游戏中会转换为其他单位。
- 介绍文本指针指向图鉴中精灵介绍文本的内容。红宝石、蓝宝石、火红、叶绿有两页介绍,因此有两个指针;然而绿宝石只有一页介绍,因此只有一个指针。
- 精灵偏移为16位带符号整数。如果原始值大于等于0x8000,则为负数,0x8000为-32,768,0xFFFF为-1。
大小比较函数
第三代游戏中,图鉴提供了大小比较的功能,精灵与训练家的剪影并排显示,用以表示精灵的体型大小。
精灵和训练家的大小由下面的公式计算:
x = (y × 256/z) 像素
其中,y是精灵肖像的大小(这里一般为64像素),z为对应的缩放大小,最终x经过取整,即为剪影的大小。之后游戏对剪影进行缩放,且无抗锯齿效果。
偏移决定了剪影具体在什么位置显示。比如,如果精灵偏移 = 10,那么剪影最终会定位在在距顶端10像素、距左端10像素的位置。(但这种效果目前在游戏外还无法模拟出来)
参考资料
| |||||||||||||||||
