梦幻模拟战吧 关注:56,545贴子:393,662
  • 17回复贴,共1

【MDL2】解码全人物头像色盘

只看楼主收藏回复

首先:我们必须找到色盘的储存地址。
我们用16进制编辑器打开ROM,找到地址0978A6-0986C5。这个范围就是头像色盘的储存地址,每32个地址就是一个人的色盘,每2个地址就是一个颜色。
然后:地址找到了,那么就需要找方法来把这些16位代码转换成颜色了。
怎么转换呢?是不是有什么规律呢?这个规律是必须有的。那么这个规律又是怎么样的?以前就想把这个规律找出来,但最终还是找不到。今天又用WinHex打开ROM,我对着这些代码想了很久,到底是怎么把2个代码转换成3个RGB数字的呢?然后我忽然开窍了。原来这个规律是这样的:例如艾尔文的头像色盘第三个颜色,
0A82=R -20(32) G -80(128) B -A0(160)
是不是很直观?居然就是把A82反过来加个0就是RGB三个数字…
最后:这样就可以任意更换各人的头像色盘了。期待各位来丰富各种改版了。


IP属地:广东来自手机贴吧1楼2014-11-29 11:44回复
    暖贴.
    色盘的详细介绍 http://segaretro.org/Palette


    IP属地:广东2楼2014-11-29 13:12
    收起回复
      2025-08-10 07:16:47
      广告
      不感兴趣
      开通SVIP免广告
      做成修改器就更直观了


      IP属地:广东3楼2014-11-29 13:53
      回复
        那r-80 g-20 b-20就是0228?


        IP属地:河北来自Android客户端4楼2014-11-30 16:37
        收起回复
          这贴发布后。。任何人物的头像替换或修改都变成可能了,吐槽大神贡献卓越。但是随之而来的又会引发一个问题。。。rom空位不足。。。如果修改的工程稍微大一些,是没办法大量放置人物头像的,毕竟头像略占空间。


          IP属地:河北来自Android客户端5楼2014-11-30 16:48
          收起回复
            头像,或者战斗形象如果能增加,而不是替换就好了


            IP属地:河南来自Android客户端6楼2014-11-30 23:13
            回复
              调色板(palette)是在图像中使用的一种颜色的组合。比起为每一个像素都定义一个颜色(比如24位颜色图像),调色板使用一种索引的方式把像素链接到颜色数据上(这句话什么意思?想想一本书中,“目录”的原理)。MD,GBA
              等游戏的图像都用到调色板。
              mega drive(也就是MD) 调色板
              MD的vdp(video display processor 视频显示处理器)仅支持512种颜色,加上阴影效果和高亮效果,总共1536种。vdp支持4个16色的调色板,每个调色板32字节,每种颜色占2个字节,这两个字节的格式是0 B G R。R,G,B可以是以下的值:0,2,4,6,8,A,C,E。想要得到等同的(0~255)的RGB值,要作以下运算:#普通模式下,直接用调色板的值,比如R为2,2的二进制表示为0010,把两份二进制值组合成一个字节,得到0010 0010,这个字节转换为十进制就是34。
              #阴影模式下,把调色板的值除以2,比如R为2, 2 -> 0001 0001 -> $11 -> 17。#高亮模式下,把调色板的值除以2,再加上2进制值 0111,比如R为2, -> 1000 1000 -> $88 -> 136。
              在MD的tile格式为两个像素一个字节,比如说一个MD的图像,第一个字节为0x4F,那么图像的第一个像素是调色板中的颜色4,第二个像素是调色板中的颜色15。MD的调色板的第一种颜色通常是透明通道,尽管只用在边框颜色。@楓児_恋姬


              IP属地:广东来自Android客户端7楼2014-12-01 11:24
              收起回复