Investigating BFV no music problem

Until this forum becomes busy just include BF2, 2142 or BFV in the title

Investigating BFV no music problem

Postby amd » Sun Nov 06, 2016 12:46 am

Hi.
Battlefield Vietnam is missing some audio, like radio commands and vehicle music on Windows 10. And I think the problem goes back to Windows Vista.

So one of the workarounds is running BfVietnam.exe with Windows 98 compatibility mode (XP is not enough).

I digged deeper on this one and downloaded a tool called "Application Compatibility Toolkit" (ACD) to see what does that compatibility give exatly.
Using ACD I got another option: "Windows NT", which also worked (XP still did not). Then I filtered from all the options, that only one is needed: WinNT4SP5VersionLie, which basically modifies GetVersionExA to return Windows NT. Now simply lying about Windows version is pretty good fix, because there is no extra layer or virtualization.

Then I compared running the game with that version lying vs the normal one and checked with Process Explorer the two processes and found something interesting.
One the audio-missing process there were 2-3 file handles open for music.rfa and sound.rfa. For fun I tried swapping names of sound.rfa and sound_001.rfa, but that didn't really help as then I had two instances of sound_001.rfa.

Now I remembered from somewhere that in BF 1942 and Vietnam you could extract the files (to game root directory) and delete the .rfa.
And so I did just that for sound.rfa and music.rfa, launched the exe without the Windows version lying and voila! it worked.

Another thing I noticed when comparing the processes was that one process had only one thread, the other one two threads (one seemed to be audio related), but not very sure if that leads me anywhere, but one vague idea is that the .rfa files were approached by the game main thread + the other thread and that caused some issues. Not sure, as I'm not very knowledged about that stuff.

While having it working with either the windows version lie or extracting the two rfa files (I extracted sound_001.rfa as well just in case though) are pretty good solutions, it would be interesting to get the very root cause and perhaps fix it. I know there are some smart people on this forum, so maybe somebody got motivation to see what's up.

- amd
amd
 
Posts: 5
Joined: Sun Nov 06, 2016 12:12 am

Re: Investigating BFV no music problem

Postby amd » Sun Dec 18, 2016 10:45 pm

To be able to play online the best is to not extract the RFA. So windows version lying fix is quite perfect.

Here I attach an .sdb file, which adds fix "WinNT4SP5VersionLie" for files called "BfVietnam.exe".
This is better than setting compatibility mode, as all it does is lying about the Windows version instead of creating some compatibility layer.

Code: Select all
BATTLEFIELD VIETNAM music (+ some other missing audio) fix for Windows Vista and later (tested in Windows 10)

To install:
1. Run bfv_sound_fix_install.bat
2. Say yes in privileges prompt dialog.
3. Profit!

To uninstall:
just uninstall from Windows's Add-Remove programs "Battlefield Vietnam Audio Fix"

This sdb file adds adds fix "WinNT4SP5VersionLie" for files called "BfVietnam.exe". (make sure you start from that file or shortcut to that file)

See http://www.bfmods.com/viewtopic.php?f=12&t=9715 for more info or comments


Security:
Deploying .sdb is relatively safe + anyone could download the huge "Compatibility Administrator" for windows and open that sdb to validate its content.
Batch file (.bat) is "open source" and basically just calls Windows's builtin .sdb installer.

Mirror for the file: http://www.moddb.com/games/battlefield- ... -sound-fix
Attachments
bfv_sound_fix.zip
(1.33 KiB) Downloaded 41 times
amd
 
Posts: 5
Joined: Sun Nov 06, 2016 12:12 am


Return to Battlefield 2, 2142 and Vietnam Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron