2015-7-27 21:58
Carrage
如何增加mod里面的音效数量?
这帖原本是求助的,但是我却自己找到了办法。
问题如下:
"最近在做mod,因为比较强调剧情,而游戏性要求不高,所以是用的旧引擎。但是觉得想加一些自己觉得好玩的有趣的音效。在用Van太守的旧引擎剧本编辑器的时候,我把SE和SE_E音效数都弄成了100,也把wav文件重新命名了(为了测试只是用原版的wav,因此不是格式问题。)。比如说我把Se42.wav复制了一个,重命名为了Se43.wav,也在剧本编辑器里面增加了音效Se43.wav了,但是没有声音。但是用回Se42.wav,就有声音了。
在此请教各位大神了。"
多年前Van太守曾经给过音效扩充代码,很多人好像没有看明白他说的是什么,但我尝试照着改了。他说是内存偏移了400C00之后的地址。但是我发现用给的地址减去400C00之后,要再加3才能去到相应的地址,也就是4748D8-400C00=73CD8+3=73CDB。这个在原EXE里面,数值如Van太守那个帖子上给的,是2B。2B在十六进制换回十进制里面是43,所以我想应该是Se的音效数目。把它改成63(也就是十进制的99)之后,音效就可以加到99个了。
一句话说完,就是73CDB改成63,就可以有99个SE音效了。当然用新引擎的朋友们完全可以忽略我...因为新引擎已经做好了音效扩充了。
附上当年Van太守的帖子:
([url]http://www.xycq.net/forum/archiver/tid-63313.html[/url])
"音效扩充
相关处理函数:sub_474777
物理限制上限:各100(文件名中只允许2位数字)
上限判断代码:
.text:004748D8 cmp [ebp+WavFileIndex], 2Bh
.text:0047488C cmp [ebp+WavFileIndex], 89h
.text:00474834 cmp [ebp+WavFileIndex], 0D1h"
[color=Silver][[i] 本帖最后由 Carrage 于 2015-7-29 17:10 编辑 [/i]][/color]