调色板 · bei.pm

发布于 2015年11月19日·更新于 2025年02月13日·中文
此文本是通过OpenAI GPT-4o Mini 自动翻译的。

此页面所描述的文件格式基于对Dynamix, Inc.Sierra Entertainment知识产权的技术分析。
该知识产权现属于Activision Publishing, Inc. / Activision Blizzard, Inc.,目前由Microsoft Corp.持有。

这些信息是通过逆向工程数据分析收集的,目的是为了档案保存和与历史数据的互操作性。
没有使用任何专有或机密的规格。

该游戏目前可以在gog.com上以下载形式购买。

地址 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 字符
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
偏移量 数据类型 名称 解释
0x0000 uint(32) 魔术字节
0x0004 uint(24) 托盘长度

与正常的区块格式相反,指示在该文件中找到的调色板数量 - 而不是区块的字节长度。

0x0007 uint(8) 旗帜

可能,和往常一样,是标志。

不过我并不知道有什么标志;因为我所知道的所有值都等于 0x00,所以也有可能调色板数量只是一个 uint(32)。

调色板信息非常容易读取。
它们通常由一个头部和一个数据段组成。

托盘标题

地址 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 字符
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
偏移量 数据类型 名称 解释
0x0000 uint(32) 魔术字节
0x0004 uint(24) 托盘长度

与正常的区块格式相反,指示在该文件中找到的调色板数量 - 而不是区块的字节长度。

0x0007 uint(8) 旗帜

可能,和往常一样,是标志。

不过我并不知道有什么标志;因为我所知道的所有值都等于 0x00,所以也有可能调色板数量只是一个 uint(32)。

0x0008 uint(32) Paletten格式版本?

可能定义了调色板格式版本,该调色板遵循哪个版本。

所有Outpost2调色板似乎都具有版本0x01

托盘数据

地址 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 字符
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
偏移量 数据类型 名称 解释
0x0000 uint(32) 魔术字节
0x0004 uint(24) 区块长度
0x0007 uint(8) 旗帜

数据部分包含了各个托盘条目。 托盘条目的数量由块长度 / 4 得出。

每个条目的结构如下所示;

地址 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 字符
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
偏移量 数据类型 名称 解释
0x0000 uint(8) 红色组件

表示颜色的红色成分

0x0001 uint(8) 绿色组件

表示颜色的绿色成分

0x0002 uint(8) 蓝色成分

表示颜色的蓝色成分

0x0003 uint(8) 未知 - 旗帜?

目前尚不清楚这个值的含义,因为它似乎基本上是 0x04

关于调色板,还有以下几点需要说明, 用于动画的调色板遵循以下规则:

  • 第一个颜色始终是透明的,无论那里指定的值是什么。
  • 调色板条目1-24在调色板1-8中作为玩家颜色使用。
    除了玩家1以外的颜色具体来源我不太清楚。
    我猜其余的颜色是硬编码的。

调色板参考