Beamdog / nwn-issues

Neverwinter Nights: Enhanced Edition Technical Bug Tracker
http://nwn.beamdog.com
31 stars 1 forks source link

[Regression] Some Vanilla & Custom Music crashes v36 Toolset. #593

Closed NightRaven-NWNEE closed 4 months ago

NightRaven-NWNEE commented 9 months ago

To Reproduce

  • Music converted to .bmu from .m4a or .mp3 that worked previously. Stereo, 192kbps / CBR / 44,100Hz
    • Load a module.
    • Load an area with this custom music set or City Combat 1 and Area Music on or press the area music toolbar button.
    • Toolset crashes to desktop with no error message / output.

Specifics

  • Game build: v88.8193.36-11 [Commit: 6fc1316d] & v88.8193.36-12 [Commit: 05285dea]
  • Regression [Works on 88.8193.35]
  • OS: Windows 10 Pro, OS Build: 19045.4046
  • File Name: mus_dune84_1.bmu
  • File Size: 6.52 MB
  • Length: 4 mins 21 secs
  • Audacity reports: Stereo, 192kbps / CBR / 44,100Hz / 32-bit float

If needed, describe the bug

I have a few isolated music files used for area music that immediately crash the v36 Toolset. The file described above is one of a small few music files I have encoded in the far past that cause this.

They were tested working previously on v35 & below. Im using music from a custom documents directory set in nwn.ini.

Best practice on nwn.wiki suggests 128Kbps 44,100hz but the possibility of going higher if tested working in game.

I did not add the BMU 1.0 header to the file myself, possible a program could have- didnt look, and not sure what it was encoded with. Audacitys log reports header information missing twice but otherwise loads it as an mp3 and it plays fine.

I use Audacity for conversion now but there is the possibility these were encoded with the old encoder from the early days made specifically for NWN from Neverwinter Vault.

I made a MusicTest-v35.mod and a MusicTest-v36.mod with a simple 4x4 city exterior area & musictest.hak with 1 line added to ambientmusic.2da and the above offending file inside if necessary.

MusicTest.zip

The only reason Im not scrutinizing my files even further, since there is the possibility of user error, is that it worked in my starter area in v35. Which made me notice it right off.

Hopefully this isnt too much of an essay!

Thanks in advance for lending me your eyes to read the madness.

For anyone with this issue that finds this:

  • Re-encoding as 128kbps / CBR / 44,100Hz / 32-bit float fixed this and stopped the crashing.
NightRaven-NWNEE commented 9 months ago

Both the v35 and v36 versions of the game client loads and plays the music fine in-game loading the module from the Main Menu. This is specific to v36 Toolset.

If you have area music on and load the area in the v36 toolset, both versions of the .mod will crash immediately. Both dont crash in .35.

In v36 Toolset, you can still load area properties without issues just cant render the area itself in either version of the mod as it crashes. If you need any further specifics welcome to inquire.

hackbert404 commented 6 months ago

Can confirm, encountered the same issue.

However, just by chance I discovered this issue can also be reproduced with at least one vanilla music file -> City Combat 1.

Trying to play this track immediately crashes the toolset.

NightRaven-NWNEE commented 6 months ago

Can confirm, encountered the same issue.

However, just by chance I discovered this issue can also be reproduced with at least one vanilla music file -> City Combat 1.

Trying to play this track immediately crashes the toolset.

Can confirm also happens for me with City Combat 1. Which is totally vanilla. Thanks for reporting this! If anyone knows of any other vanilla music files that do this and replys here I will add it to the original report. Just a player reporting like you so cant do much about it myself but better to report it than not.

vbabenkoru commented 5 months ago

Works for me on Paralells, Windows 11 and latest 37 preview. The mp3 library Toolset is using didn't change between the versions, so not sure what could be going on.

Daztek commented 4 months ago

Should be fixed in an upcoming build