|
就是ps2的战国无双2猛将传,希望做个免联动补丁,因为模拟器不支持联动功能,而且金手指的全人物有bug,我找到篇三国无双4的免联动补丁的制作方法,希望有高手能做个战国无双2猛将传的免联动补丁。
/ A- m( {/ V1 [1 X' u3 B3 e 众所周知,《无双》系统的资料片《猛将传》都需要在与原版联动之后,才可以玩到原版中原有内容。而且每次从新开始游戏都必须重新联动,十分不便。在下制作了《真三国无双3猛将传》的免联动补丁。可以免去烦琐的联动步骤,直接进入游戏就可以玩到所有原本需要联动后才可以玩到的内容。4 G6 ]+ g' ~7 a2 w& q" k
) A' k! C) W# g3 N9 t7 F9 j# `
《真三国无双4猛将传》的免联动补丁也与此原理相同。0 L; I; U/ v. r, f C0 ]+ N
# q; H" |9 l6 w+ B
程序在载入PS2的内存后,会在某个内存地址里保存一个值,用来判断游戏是否已经处于联动的状态。以353M为例地址是0x00369244,354M是0x0035d380,当这个地址保存的是0x00000001时,游戏就认定已经处于联动状态了。 t6 o4 L! z6 ^& ^1 ?
9 Y) k' C9 ?/ ^, F& Z* q; n
再看353M载入内存后,在内存0x002db8e4处有这样一段指令:lw v0, $8dd4(gp),意思是v0=MEM[gp+$8dd4],其中v0正是指向0x00369244。这个地方的指令正是向0x00369244载入是否联动的状态值。我们只要修改此处的指令,令它强制载入表示已经联动成功的值0x00000001,这样游戏运行后,就会直接处于已经联动的状态了。
u+ k! i6 s6 A X$ \) }1 I/ w" h8 w; O* ^
修改后的指令为:addiu v0, zero, $0001,转为HEX值是0x24020001。
4 O2 p7 y% T& {: V( x
% H* G; i& e) p& c4 H接下来,就是修改ELF文件相应的位置为我们想要值。353M内存地址0x002db8e4对应的ELF文件物理地址为0x001dc0e4。用任意一种bin编辑工具打开ELF文件,将0x001dc0e4的值改为0x01,0x001dc0e5的值改为0x00,0x001dc0e6的值改为0x02,0x001dc0e7的值改为0x24,保存,大功告成~~~~~!5 t/ g! f& x5 r6 ^3 W. a
! Y* m; I2 Z- ~" H
----------------------------分割线------------------------------
, Q+ v5 _$ d2 j( _& C$ z- z2 f7 P7 C$ U: s
% B3 ]0 T9 V( c4 ]使用方法:将压缩包里的文件解压后,替换游戏镜像中的同名文件。需要刻盘的玩家推荐用Apache2.0修改镜像。
- l& {% O0 ` ]: K. }: p1 m
: i- d6 i9 h( m& z+ c$ }: ~1 ?( D作用:免去烦琐的联动步骤,直接进入游戏就可以玩到所有原本需要联动后才可以玩到的内容。
, z1 x8 e) q: c5 X; ?
7 w& ~" }9 a& A2 ]+ Y注:此补丁仅供爱好测试使用,测试完毕后,请马上删除。不可用于商业用途。由此产生的任何问题与作者无关。特别感谢Anton兄。 s1 `, g* Y. p% {4 ^+ R; s( S' A
+ C3 j: y X) n, R, n6 Z) `3 E/ g |
|