三国群英2吧 关注:44,427贴子:1,003,077
  • 24回复贴,共1

使用_inmm.dll实现三国群英传2免CD播放背景音乐

只看楼主收藏回复

这个方法和远帆大神的方法不同,需要通过_inmm.dll来实现(感谢wtang0426提供的方法)。优点是适用性强,三国群英传1、2原版免CD主程序、陈俊彦扩充主程序以及很多播放CD音轨的老游戏都可以使用它(至于群2的其它扩充主程序能否使用可以自行测试);容易上手,自动完成主程序的改写。缺点是不能删除背景音乐文件,否则会报错;无法单独调整音乐音量(设定选项调整音量之后暂时有效,切换到其它音乐又恢复最大音量)。如果大神有兴趣可以研究一下,看能不能解决调整音量的问题。下面说操作步骤。


IP属地:江苏1楼2021-02-03 18:07回复
    下载_inmm.dll,将_inmm.dll、_inmm.ini、_inmmcnf.exe、_inmmcnf.ini、_inmmserv.exe解压到游戏根目录下,在_inmmcnf.ini文件添加游戏信息。


    IP属地:江苏2楼2021-02-03 18:07
    回复
      打开_inmmcnf.exe,选择“补丁”选项卡,选择好游戏,点击“打补丁”按钮,会提示你选择游戏目录,选好后确认,如成功会在目录里生成Sango2.org文件,说明成功。(Sango2.org是原exe的备份,如不需要可以删除)


      IP属地:江苏3楼2021-02-03 18:08
      回复
        使用Exact Audio Copy进行CD抓轨,wav或mp3格式均可,新建文件夹命名为Music或MP3等等均可,把抓轨出的音乐文件放进去,文件夹放在游戏目录下。然后_inmmcnf.exe选择“_inmm.ini”选项卡。点击“增加”按钮,选中所有音乐文件。



        IP属地:江苏4楼2021-02-03 18:09
        回复
          点击“保存”,在游戏根目录下生成_inmm.ini。音乐文件夹路径前面改成“.\”(如下图,“.\”表示当前文件夹)。这样就成功了。


          IP属地:江苏5楼2021-02-03 18:09
          回复
            注意事项:
            1.如果复制到别的电脑上,需要先运行一次_inmmcnf.exe或者打开“音乐环境注册.reg”写入注册表,以后直接运行游戏主程序就OK了。
            2.若改变游戏文件夹的名称,则需要再运行一次_inmmcnf.exe或者打开“音乐环境注册.reg”。
            删除游戏后,清理注册表的方法如下:
            1.开始-运行-Regedit-确定;
            2.编辑-查找-查找目标-irori;
            3.irori-点击右键-删除。
            如果想了解更多高级操作,可以参考https://tieba.baidu.com/p/5063418600。压缩包里有日文的说明文档,也可以转换为中文后参考。


            IP属地:江苏6楼2021-02-03 18:10
            收起回复
              6


              IP属地:北京来自Android客户端7楼2021-02-03 19:12
              回复
                感谢楼主分享方法!
                我估计是音乐音量没有正确被设置。不过我对原版播放音频的函数知之甚少,只知道音乐音量在48CD20位置,45413F函数用于调整音乐音量。不知道更改后这部分有没有被hack到。


                IP属地:美国8楼2021-02-03 20:25
                回复
                  讲了怎么用,能讲下原理吗?
                  那个EXE有源码没,


                  来自Android客户端9楼2021-02-03 20:46
                  收起回复
                    我读了一下谷歌生草机的机翻,原理是直接改变对WINMM点dll的调用,改为压缩包提供的dll。看起来大概是一些API的衔接上出了问题。
                    试试看将原版EXE中,0x53599处的74 0E改成90 90?


                    IP属地:美国10楼2021-02-03 21:49
                    收起回复
                      如果这个程序有源码,可以修补一下,没有源码就只能这样了。
                      这些是秦殇的处理相关问题的内容
                      2、修正了应用程序切出再切回后音乐和音效的音量变到最大的BUG,但是声音会在后台播放。
                      //{------------------------------------------------------------------
                      // [2006-06-23 10:05] 边陲 失焦的时候要将mp3的音量设置为0否则还有声音
                      case WM_KILLFOCUS:
                      {
                      TRACE( "WM_KILLFOCUS\n" );
                      // 好像是这里引起崩溃
                      //QS_Sound_SetVolume( 0 );
                      QS_Music_SetVolume( 0 );
                      break;
                      }
                      case WM_SETFOCUS:
                      {
                      TRACE( "WM_SETFOCUS\n" );
                      //{------------------------------------------------------------------
                      // [2006-06-23 10:12] 边陲 从WM_ACTIVATEAPP移动,放错地方了
                      // Nov.24.2003 wubanghai
                      // BUG FIX : 一个自秦殇以来一直存在的BUG
                      // 切换应用程序后需要恢复音量和Gamma亮度
                      QS_Sound_SetVolume( g_Setting.m_nSoundVolume );
                      QS_Music_SetVolume( g_Setting.m_nMusicVolume );
                      //------------------------------------------------------------------}
                      break;
                      }
                      //------------------------------------------------------------------}
                      //iCfg :当前 config 音量 = Mfx_WAV_GetValume()
                      //iCfgMax :最大 config 音量 = Mfx_WAV_GetMaxValume()


                      IP属地:湖南13楼2021-02-19 16:35
                      收起回复
                        请lz加我的qq3463261922


                        IP属地:吉林14楼2021-02-23 20:20
                        回复
                          请楼主加我的QQ 我有事情需要你的帮助


                          IP属地:吉林来自Android客户端15楼2021-02-24 08:14
                          回复