ballance吧 关注:9,728贴子:401,453
  • 16回复贴,共1

【水?】 Ballance 内脚本解读——Screen Modes

只看楼主收藏回复

一楼自己占


IP属地:上海1楼2021-03-09 23:39回复
    该脚本位于 base.cmo 中,是 Level Script:Default Level 中的一个子脚本
    太晚了 明天再来水


    IP属地:上海3楼2021-03-09 23:43
    回复
      做这个事的目的是看到吧里有相当多的故障分析贴和原因总结贴 但是几乎都不成体系 也基本上都是基于猜测和假说 所以我想尝试一下更深入地探讨一下其中的原因(睡不着接着水水)


      IP属地:上海来自iPhone客户端4楼2021-03-09 23:50
      收起回复
        在开始之前,首先要感谢 bkt 团队对解密 cmo/nmo 脚本的努力(揭开 Scripts Hidden 的谜)
        所用到的工具:https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation
        或者也可以用已经解密的文件:https://github.com/BearKidsTeam/BallanceModding


        IP属地:上海5楼2021-03-10 08:06
        回复
          废话不多说 现在开始


          IP属地:上海6楼2021-03-10 08:13
          回复
            那么只观察这个脚本就可以得出一个结论:
            Ballance 所用的显示模式是本机系统驱动报告支持的显示模式中介于 640x480 - 1600x1200 之间的, 4:3 的 16 位显示模式


            IP属地:上海7楼2021-03-10 08:23
            收起回复
              Bouns:
              进一步实验,将上述脚本中 “删除小于 640*480 分辨率”的逻辑改为“删除大于等于 640*480 的分辨率”


              这样我们就可以直接获得:游戏启动时卡死的黑屏 x1


              由此可以得出结论:黑屏卡死是因为系统的显示模式在游戏脚本的过滤之后没有剩下任何的显示模式而导致的
              这里的过滤即为上面所述,会过滤所有小于 640*480 和大于 1600*1200 的非 4:3 的非 16 位色模式
              https://tieba.baidu.com/p/6635136811 因此该帖提出的解决方案确实可行,但是它是解决问题的充分不必要条件


              IP属地:上海8楼2021-03-10 10:39
              收起回复
                Another bouns:
                欢迎来看我对着 vt 发呆
                (BV1jz4y117VD


                IP属地:上海9楼2021-03-10 10:50
                回复
                  这么说那些黑屏的大概本质原因是没有合适的(毕竟这个区间内正常也该有不少分辨率可选)4:3 的分辨率导致的?刚才看了一下我这边虽然是 16:9,但仍然有不少能用的 4:3


                  IP属地:河南10楼2021-03-10 12:20
                  收起回复


                    IP属地:四川来自Android客户端11楼2021-03-10 23:04
                    回复
                      勘误:的确需要 640x480 分辨率来启动 详细内容传送门:https://tieba.baidu.com/p/7256674070
                      解决方案(如果你遇到了丢失 640x480 显示模式而无法启动游戏的问题)传送门:https://tieba.baidu.com/p/6635136811


                      IP属地:上海12楼2021-03-11 12:32
                      回复