植物大战僵尸吧 关注:580,041贴子:5,183,348
  • 2回复贴,共1

修改bgm的一个更好的方法

取消只看楼主收藏回复

第一步是调用45A2C0:
push 音频文件路径(std::string字符串对象指针)
push 音频文件编号(已知游戏中1~4编号已经被占用,其中4为mv音乐)
push Bgm对象指针([[0x6a9ec0]+0x83c])
call 45A2C0
返回值al为非0则读取成功。
第二步是修改45ADB0:
ecx为bgm的编号,其中0x1~0xd是原版的bgm,可以通过修改下面的switch将某个编号对应文件编号,具体可以参考0xd分支,是mv的编号。
无需其它额外操作即可很完美的播放音频,可以自动循环(除了原版自带的MV音乐,即文件编号为4的音乐不会循环)、存档读档续进度,与原版mo3效果一样。


IP属地:河北1楼2021-03-01 00:22回复
    地址版本号均为1.0.0.1051


    IP属地:河北3楼2021-03-01 00:28
    回复
      2026-03-05 10:02:42
      广告
      不感兴趣
      开通SVIP免广告
      挖,我发现还要改一个地方,45A62B,将这行代码nop掉


      IP属地:河北14楼2022-08-19 15:04
      回复