aethersx2模拟器吧 关注:15,183贴子:98,436

授人以渔,宽屏金手指修改方法

只看楼主收藏回复

划重点,是修改方法,不是从零开始的制作方法!
从零开始的制作方法请看这里 https://forums.pcsx2.net/Thread-Guide-Creating-widescreen-patches-in-less-than-10-steps
不过现在几乎所有有3d场景的游戏都有现成的宽屏金手指,在它里面修改就好,没必要自己从头做,特别麻烦,工作量不小。
pcsx2官方是有宽屏金手指的,可在官网论坛下载,PC版也自带,就是目录里名为cheats_ws.zip(好像是叫这,记不太清)的压缩包,许多以太模拟器的群文件里也基本都有上传它,我讲的修改都是在它的基础上进行的。
官方的宽屏金手指主要针对电脑,画面比例为16:9,所以如果直接用在以太模拟器,选择拉伸至全屏,那相当于是把16:9的画面拉伸成手机的屏幕比例(18~21:9),虽然比从4:3拉伸要好点,但终究不完美。

不想折腾的吧友启用宽屏补丁、选16:9画面就好。
下面开始修改方法,修改数值需要十六进制和浮点值的互相转换,怎么转,在网上搜 在线十六进制转换浮点值。

以火影究极英雄3日版为例,打开金手指文件的画面如下:

第一行是游戏名称
第二行是金手指效果和制作者
16:9是宽屏后的画面比例,括号里的我也不知道是啥,不用管
最后一行才是我们需要修改的地方。
//是注释,注释后面的内容不会生效,有的金手指制作者会把原画面比例的数值写进来,这个8位数的数值有的都起作用,可能是前面4位,可能是后面4位,甚至其它。
许多游戏的原画面比例用的数值是3f800000,代表4:3画面,而3f400000是修改后的16:9画面,也就是说,需要修改的是3f400000这部分。
有的值是基于宽度,有的是基于高度,前者需要把值对应的浮点值缩小,后者需要把浮点值放大。
究极英雄3是基于宽度,需要缩小,4:3(12:9)转成16:9的话,要把浮点值乘以(12/16),也就是0.75。如果要放大,则是除以0.75。
3f800000对应的浮点值是1,3f400000对应的是0.75,正好。
我的手机比例是19.5:9,所以需要把浮点值乘以(12/19.5),再转换成十六进制就是3F1D89D8。
为以后换手机做准备,可以把其它比例的数值也一起算出来,在不需要的代码前面加上//就好。
于是,我修改后的金手指一般长这样。

但是,不是所有游戏都用的3f800000这个数值,也可能是xxxx3f80或其它乱七八糟的数值,也不是所有补丁里都注释了原画面比例的数值。
这就需要对比分析了。
以龙珠z电光火石1为例:

对比3c013f80和3c013f40,3c014400和3c01442b,可以看到前面4个数字没有变化,所以是后面4位数字在起作用。
但我们把3f80和3f40,4400和442b转换成浮点值后,他们的倍数关系并不是0.75,这是因为有些4位数需要在后面加0000再转换浮点值,在加上0000后,转换浮点值会发现倍数关系变成0.75了。
而没有注释原比例的数值的话,如果是3f400000、xxxx3f40这种一眼能看出来原数值的,直接用原数值来算;如果是比较陌生的数值,就以修改后的数值为基准计算,把浮点值乘以或除以(16/19.5)。
有的宽屏金手指有几种画面比例,16:9、16:10、15:10,通过比较它们的数值也能做出一些判断。

有些宽屏金手指的部分代码不是修改宽屏的,猜测可能是用来修复宽屏后产生的bug的,这种不用动它。
先写这么多吧,后面想到什么再补充。


IP属地:湖北1楼2022-02-07 12:52回复
    嗯?审核完了?那就继续
    关于宽屏的碎碎念。
    宽屏后,我们得到了更宽阔的视野,无疑带来了更好的游戏体验,但也存在一些弊病。
    因为游戏画面肯定不止有3d,还有2d,2d依旧会从4:3拉伸至全屏,像是血条技能槽这类倒是无伤大雅,不如说拉伸后和屏幕长度相符了更好,但其他的就不好说了。
    还有,过去的游戏厂商肯定不会想到玩家会给游戏做宽屏,所以多半没有考虑4:3画面以外的的部分,有的游戏宽屏后,会出现奇怪的画面。
    比如:
    奥3,必杀光线错位


    暴走山地自行车,技能栏的内容跑到栏外

    犬夜叉奥义乱舞,选人界面,人物被中间的选择栏遮挡部分

    一骑当千,战斗后的计分栏文字跑出

    奥特曼空想特摄,左边出现奇怪东西

    幽游白书的……唔……



    IP属地:湖北2楼2022-02-08 11:59
    回复
      如果觉得宽屏后带来的舒适不能抵消这些弊病的话,建议还是玩4:3画面。


      IP属地:湖北3楼2022-02-08 11:59
      回复
        其实,细心的话,我们会发现,官方金手指把战斗界面的浮点值都改成了0.75或1.33倍,但其它界面有的不到0.75或1.33倍,这种界面应该是菜单等界面,我想多半是为了缓解2d拉伸后与3d的错位。


        IP属地:湖北4楼2022-02-08 12:31
        回复
          另外,宽屏还有一个弊病。
          宽屏的原理是先把游戏画面按比例压缩,让4:3的屏幕容纳更多画面,此时的人物和画面会很瘦长,之后再强制把画面按比例拉长,这样一来,人物和画面比例就变正常,画面也变多了。
          这样的操作会带来问题,大家看下面这张图

          是不是感觉第三个O有点变模糊发虚了?


          IP属地:湖北5楼2022-02-08 12:33
          回复
            大家看,火影究极英雄3里的鸣人
            这是4:3,开3倍分辨率

            这是19.5:9,开3倍分辨率

            相较4:3,全屏的人物和场景边缘明显发虚,开更高倍分辨率可以缓解发虚情况,但游戏会卡得没法玩……

            这种情况究极英雄3较突出,其它游戏没这么明显,应该和建模方式或精度什么的有关。


            IP属地:湖北6楼2022-02-08 12:49
            收起回复
              好评!


              IP属地:贵州来自Android客户端7楼2022-02-08 13:12
              回复
                嗯?6楼好像在审核?算了,让它审。


                IP属地:湖北8楼2022-02-08 14:00
                回复
                  再说个比较可惜的地方,宽屏后,画面变多了,但角色的活动区域一般还是被限制在原先4:3的画面里(但也有例外,例如福音战士战斗管弦乐队没有被限制),下图中,初代无论怎么后空翻怎么后跳,都没法越过红线,如果解除这个限制,玩起来体验应该会更好。


                  IP属地:湖北9楼2022-02-08 14:40
                  收起回复
                    楼主牛逼


                    IP属地:福建来自Android客户端10楼2022-02-08 17:56
                    回复
                      收藏好贴,感谢


                      IP属地:马来西亚11楼2022-02-08 18:09
                      回复
                        好帖!!!!!!


                        IP属地:江西来自Android客户端12楼2022-02-08 18:11
                        回复
                          楼主,我有事情向你请教。
                          4:3(12:9)转成16:9的话,要把浮点值乘以(12/16),也就是0.75。如果要放大,则是除以0.75。
                          我的手机比例是19.5:9,所以需要把浮点值乘以(12/19.5)
                          这个(12/16)和(12/19.5)是怎么算出来的?为什么是12除以16,为什么是12除以19.5?是不是有条转换公式?可不可以说一下?


                          IP属地:广东14楼2022-04-05 01:04
                          收起回复
                            才看见刚加精


                            IP属地:山西来自Android客户端15楼2022-04-05 07:58
                            回复