LAGonauta / MetaAudio

GoldSrc engine plugin for 3D sound
GNU General Public License v2.0
98 stars 14 forks source link

Custom efx-reverbs.json doesn't work #29

Open HalfWayLambda opened 3 years ago

HalfWayLambda commented 3 years ago

Hello! I noticed that in one issue that another user reported you posted a newer version of the MetaAudio plugin, which I assume includes the feature that lets you load a customized preset for the reverb effects. However, it doesn't appear to do anything. I've made sure the file is correct, I even took the efx-reverb.sample.json file you provide at this repository to make sure that it wasn't an issue with how the file is written (I renamed it to efx-reverbs.json of course). I also tried to rename it efx-reverb.json (so without the s at the end), but that didn't fix it either. Is there something that i'm missing? And yes i'm sure I will notice the difference in-game because I made the decay time in the generic preset to be 40 seconds, and walked into the anomalous materials entrance, which uses that preset (the command room_type gets set to 1, which corresponds to generic).

LAGonauta commented 3 years ago

Can you test with this build? https://github.com/LAGonauta/MetaAudio/files/5612706/MetaAudio.Alure.zip

HalfWayLambda commented 3 years ago

Hmm...now this crashes my game no matter what. I've tried deleting all the files of the mod and re-installing them, as well as deleting any efx-reverbs.json that was in the folder. It doesn't have any error message either, just a crash to desktop :/

LAGonauta commented 3 years ago

Try installing the newest VS redist: https://aka.ms/vs/16/release/vc_redist.x86.exe

HalfWayLambda commented 3 years ago

Ok, I tried the new version, I had the 14.27 one before and now it's the 14.28 one. But...it still crashes to desktop. I guess only a debug build will pinpoint the cause of this.

nepnep1111 commented 3 years ago

I can confirm the master build crashes as well even with the newest vc_redist

LAGonauta commented 3 years ago

Probably found the cause. Can you try this one, please?

MetaAudio.Alure.fix.zip

HalfWayLambda commented 3 years ago

Ok, now it works without any crashes! Good job! But something else I wanna mention: MetaAudio currently reads the file as efx-reverb.json, and not reverbs, so without the s. I would recommend making it recognize both though, people usually miss details like those. And in case both files exist but they differ from one another, then just error out with a useful error message. Other than that, this mod is amazing!

LAGonauta commented 3 years ago

Can you check if the plugin is loading correctly the reverb data on newest release candidate? https://github.com/LAGonauta/MetaAudio/releases/tag/v0.3.0-rc1

HalfWayLambda commented 3 years ago

Hmm, there appears to be some issues with the way it reads the file. While it does work if I change the numbers based off of the template you have in this repo, it doesn't work if I start writing it from scratch. And yes, i've made sure there aren't any obvious errors like a missing ] or , using this website website that parses a json file. Here's the file I used: https://drive.google.com/file/d/1kwnRl21BR0262-xufZzNTQ5og4jXE7Vj/view?usp=sharing The first part changes the generic preset, and the structure of it is based from the template. The second changes the concrete large preset with a slightly different structure, which shouldn't cause any problems. However, none of these 2 work.

LAGonauta commented 3 years ago

There is a trailing comma , at the end of line 55, picojson doesn't like that`

HalfWayLambda commented 3 years ago

Oh alright, that's something i missed haha! Although now the second part doesn't seem to get applied, only the first preset works that is based off of the template's structure.

LAGonauta commented 3 years ago

Well, the original parameters are overwritten and when a parameter is not set the default value is 0. Maybe this could be the problem?

HalfWayLambda commented 3 years ago

Hmm, yes that might be a possibility. In fact, I thought that non-overwritten parameters would be set to their default values and not 0, so i'll have to do some more experiments with it later.