钻石狂潮吧 关注:699贴子:6,229
  • 17回复贴,共1

开个新坑-对钻石狂潮文件的分析

只看楼主收藏回复



IP属地:湖南来自Android客户端1楼2024-05-22 23:17回复
    先从class文件开始分析吧


    IP属地:湖南来自Android客户端2楼2024-05-22 23:20
    回复
      a.class:没有函数,里面保存的是一些与dialog和进度条上方文字的变量,拿横屏版的替换竖屏版的钻石狂潮能明显观察到变化



      IP属地:湖南来自Android客户端3楼2024-05-22 23:23
      回复
        j.class: 这个文件里面是关于音效控制的代码,音乐是从文件snd.f里面加载到内存里用javax.microedition.media.Player来播放的(音频我已经提取放在贴吧里了)


        IP属地:湖南来自Android客户端5楼2024-12-01 15:06
        回复
          f.class: 这个文件是专门用来加载游戏贴图的


          IP属地:湖南来自Android客户端6楼2024-12-01 15:12
          收起回复
            d.class: 这个文件是用来加载语言文件的(感觉这个加载语言文件的方法是诺基亚提供的,我看到的所有诺基亚自带游戏都是这一套逻辑)


            IP属地:湖南来自Android客户端7楼2024-12-01 15:15
            回复
              这是钻石狂潮读取.f后缀文件的方式,可以看出来一个.f文件包含的数据是非常多的,钻石狂潮里.f用来储存贴图文件(如mmv.f)和png图像(文件spl.f)还有语言文本(像cr.f里面就是储存的通关之后的滚动文本)



              IP属地:湖南来自Android客户端8楼2025-01-07 23:12
              收起回复
                通过对文件的分析,我发现这个游戏是限20帧的,强制修改高帧率会使得画面速度和游戏速度都增快
                解除帧率的方法是将i.class中的run()里面的0x32改为0x0


                IP属地:湖南来自Android客户端10楼2025-01-12 19:48
                收起回复
                  钻石狂潮显示界面相关代码函数
                  函数b是将spl.f里面的图片绘制到图中相应区域的,有趣的是gameloft版权信息能通过this.b(this.a, false)隐藏掉
                  函数f是绘制主界面选项的




                  IP属地:湖南来自Android客户端11楼2025-01-13 17:05
                  回复
                    这是对f.class材质加载的进一步研究,下面给出的图片是相应调色板类型的解码格式


                    IP属地:湖南来自Android客户端12楼2025-02-01 20:44
                    收起回复
                      这是材质文件的结构,有兴趣的话可以看看


                      IP属地:湖南来自Android客户端13楼2025-02-14 01:16
                      收起回复
                        吴哥窟草丛动画已经成功复现,详见网页链接
                        如果你也想加入到钻石狂潮复现工程,可以向这个github仓库提pr:SmithGoll/dia_data


                        IP属地:湖南来自Android客户端14楼2025-02-14 13:51
                        回复
                          钻石狂潮里面的贴图文件大小都没有超过64x64,因为其给图片留的缓冲区就只有4096*4字节,最多只能装下4096像素的图片


                          IP属地:湖南来自Android客户端15楼2025-02-20 18:01
                          回复