划重点,是修改方法,不是从零开始的制作方法!
从零开始的制作方法请看这里 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的,这种不用动它。
先写这么多吧,后面想到什么再补充。
从零开始的制作方法请看这里 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的,这种不用动它。
先写这么多吧,后面想到什么再补充。