Hey chooms, after many comments reporting Audioware being flagged by antivirus (thanks to PanPan66, Kpblcep, DeepBlueFrog and Demon9ne for reporting), it turned out that a tool that I used in automated release to reduce the binary size, UPX, was most likely the cause.
I removed it in this release (special thanks to PanPan66 for testing it and providing feedback before official release), which is also the reason why the binary size switches from 648Kb back to 827Kb.
Sorry for the inconvenience, but I actually learned in the process that packers like UPX tends to make antiviruses static analysis harder, which often ends up getting the .dll flagged as malicious.
The game throws a flatline error on exit when Audioware is installed. Disabling Audioware through Vortex / uninstalling Audioware altogether fixes the issue. I first noticed the flatline on exit issue when rebuilding my load order. Tested in my 200+ modlist, and then narrowed it down to Audioware only. All requirements are up to date.
Thanks Belzebox, I ran into it myself when upgrading to latest libs after seeing your message. Downgrading seems to indicate that it flatlines when upgrading from CET1.32.1 to 1.32.2. Currently investigating, no ETA so far.
Until yesterday, I didn't have any problems, strangely my anti-virus now refuses to download the latest version of your mod that I had already downloaded before...
Edit: I already had this problem some time ago when trying to download "VisualPrecisionX PhotoRealism Reshade" (Trojan:Win32/Wacatac.H!ml) ... and strangely a few days later, I was able to download it !
[WARN - Tue, 9 Apr 2024 13:22:55 +0200] At F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Codeware\Codeware.Global.reds:2007:1: @addField(inkScrollArea) ^^^ a field with this name is already defined in the class, this will have no effect [WARN - Tue, 9 Apr 2024 13:22:55 +0200] At F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\VehicleSecurityRework\Scanner\VehicleScannerExtensions.reds:4:1: @replaceMethod(scannerDetailsGameController) ^^^ this method replacement overwrites a previous annotation targeting the same method, only one replacement per method can be active at a time [INFO - Tue, 9 Apr 2024 13:22:55 +0200] Compilation complete [INFO - Tue, 9 Apr 2024 13:22:55 +0200] Output successfully saved to F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\cache\final.redscripts.modded
Edit:
RED4ext ... "More details can be found in the logs. D:\a\RED4ext\RED4ext\src\dll\hooks\ValidateScripts.cpp:42"
I found the old download (ver. 0.8.8) and when I install it manually (copy/paste) my anti-virus gives me an alert (Trojan:Win32/Wacatac.H!ml), I "ignore" it but the RED4ext message keeps showing up (see picture) and the game doesn't launch...
[2024-04-09 16:10:13.638] [RED4ext] [warning] Could not load plugin 'audioware'. Error code: 225, msg: 'Unable to complete the operation because the file contains a virus or potentially unwanted software.', path: 'F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\red4ext\plugins\audioware\audioware.dll'
and,
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.PlayOverThePhone' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\AudioSystemExt.reds:3 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineLocale' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:5 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineGender' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:6 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.DefineEngineSubtitles' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:7 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.SupportedEngineLanguages' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:8 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.GetReactionDuration' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:9 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineState' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Natives.reds:14 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.RegisterEmitter' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\System.reds:3 [2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UnregisterEmitter' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\System.reds:4
Ok PanPan66 that was super helpful actually. I was initially very surprised any virus could exist since my releases are automated on Github CI, and everything is auto-compiled/generated/packed there without any manual intervention. But reporting your issue on Discord modding community, I actually learned that one tool that I use in CI for binary size reduction, UPX, tends to get flagged by antiviruses.
Would you mind giving a try to the next version available on Github and confirm it solves your issue before I release it officially on Nexus?
Hi Kpblcep, thanks for reporting but this is highly likely to be a false-positive because Audioware's Nexus files are automatically packaged by Github CI.
The reason why your Antivirus panics is most likely because Audioware reads YML file on game launch then loads audio files to play them on-demand in-game. What is weird though, is that I couldn't find the virus you mentioned listed when searching on Google.
That being said, I'm gonna add the checksum on next release, if this is a concern.
Well, Kpblcep and DeepBlueFrog it turns out that the antivirus issue you got might have been caused by the binary size reducer (packer) I used recently in automated releases: UPX. Reducing binary size makes antivirus' life harder, as a result they tend to flag such .dll as malicious. I just released a new version available on Github and I'm collecting feedbacks before releasing it officially on Nexus: would you mind letting me know if this solves your issue?
Ditto. I use MO2 so it's easy to switch mods on and off selectively. This latest version of Audioware (v0.8.7) is definitely the culprit.
(Note: I'd also updated CET and ArchiveXL, as well as Addicted, to the latest today, maybe there's some interaction there? Removing Audioware definitely boots the game up again, but maybe there's something new in those latest version of CET or ArchiveXL that aren't working with this latest version of Audioware?)
You're right guys, we tested it in different conditions yesterday and indeed I reproduced the crash on my computer too. Currently re-packaging with the fix, should be available soon. Sorry for the inconvenience! :)
Hi everybody! Latest release v0.8.8 adds a couple of new features for modders to use, alongside bug fixes + now checksum can be found in file changelog starting from v0.8.7 on. Enjoy :)
Audioware's API is still slowly being built with more features added, and the good news is that I'm not alone anymore: thanks to Nibana, Demon9ne and other people who stepped in!
p.s: v0.8.7 was yanked due to a nasty crash on game launch... thanks to kromancer, gurugeorge, Jeoshua and Syynx for collectively reporting this issue so fast!
Hi dathk456, thanks for reporting. I'm on the exact same versions (redscript / red4ext / CET), but I don't get any issue at all. Could you be missing Codeware 1.8.2 ? Otherwise it might come from Vortex, I don't know because I've never used it. p.s: please consider checking redscript/red4ext logs and posting them here.
Initially this mod wasn't designed to replace any vanilla audio/sounds billyk741, but rather to ease adding new ones, since the process with REDmod was both unpopular with players and tedious in itself. That being said it could be added in a distant future, I'll consider it.
First step for me is to clean my code, support settings, different kind of audios (voiceover, sfx, dialogs, etc), improve internal audio management and a couple of other tasks before exposing any API to public usage. I currently also use in parallel my own mod, Addicted, to battle-test it first. This will take some time, stay tuned :)
Listen, if you're knowledgeable about this stuff, and you're just getting started on this framework, this is the perfect time to tell you that there's this bug where the game insists on playing in 5.1 surround for some inexplicable reason and there are no controls or settings in the game files to switch it back to stereo that I can find. At least, that's my best guess as to what's causing the problem I'm having where TVs and a lot of ambient sounds suddenly stopped playing audio. If you can include some way to force the game into regular stereo audio that would be wonderful, because I never installed the cyberware that gives you five ears.
Thanks for the suggestion PlayaCharacter but I'm not knowledgeable in this area.
I want to also state that this plugin actually onboards anotheralternate audio engine, which means I have close to zero control on what is done by the original vanilla audio engine (AudioKinetics for that matters). The reason being that vanilla audio-related methods are buried deep inside the binary, and I frankly don't have the energy to hook onto dozen (if not over a hundred) vanilla methods, understand how they relate, learn AudioKinetics internals, and so on. That would require way too much work and any mistake would potentially disrupt sounds in your game, which is the last thing I want to cause.
To me your request would fit perfectly in a different plugin, and you can definitely open a ticket in #mod-requests channel in ➡️ Cyberpunk Discord community.
Thanks BlackSunIT, yeah it's a minor omission of mine but it won't cause any crash in-game :) It will be fixed by next release. Here's the commit that fixes it, if you're curious.
So far the internal code is still a work-in-progress and that's why I haven't provided any documentation yet. I mainly want to start using it with Addicted to battle-test it while adding more features, before encouraging other modders to use it too.
Currently it does allow me to load localized / genderized audio files and their subtitles from a YAML file (very similar with REDmod which does it with JSON file), and hook into the AudioSystem's Play and Stop methods to handle custom audio with another audio library. I also leverage Codeware to automatically show/hide the appropriate subtitle whenever an audio gets played. I'm currently experimenting with new additional features and will release proper documentation and examples when it will be mature enough for other to use.
I also released it for transparency reasons: people might be uneasy to install an unknown binary, for good reason. This way, its source-code is made available publicly and there's no ambiguity about what this mod does: people can inspect the code by themselves.
49 comments
after many comments reporting Audioware being flagged by antivirus (thanks to PanPan66, Kpblcep, DeepBlueFrog and Demon9ne for reporting), it turned out that a tool that I used in automated release to reduce the binary size, UPX, was most likely the cause.
I removed it in this release (special thanks to PanPan66 for testing it and providing feedback before official release), which is also the reason why the binary size switches from 648Kb back to 827Kb.
Sorry for the inconvenience, but I actually learned in the process that packers like UPX tends to make antiviruses static analysis harder, which often ends up getting the .dll flagged as malicious.
Disabling Audioware through Vortex / uninstalling Audioware altogether fixes the issue.
I first noticed the flatline on exit issue when rebuilding my load order. Tested in my 200+ modlist, and then narrowed it down to Audioware only.
All requirements are up to date.
Downgrading seems to indicate that it flatlines when upgrading from CET 1.32.1 to 1.32.2.
Currently investigating, no ETA so far.
Edit:
I already had this problem some time ago when trying to download "VisualPrecisionX PhotoRealism Reshade" (Trojan:Win32/Wacatac.H!ml) ... and strangely a few days later, I was able to download it !
[WARN - Tue, 9 Apr 2024 13:22:55 +0200] At F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Codeware\Codeware.Global.reds:2007:1:
@addField(inkScrollArea)
^^^
a field with this name is already defined in the class, this will have no effect
[WARN - Tue, 9 Apr 2024 13:22:55 +0200] At F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\VehicleSecurityRework\Scanner\VehicleScannerExtensions.reds:4:1:
@replaceMethod(scannerDetailsGameController)
^^^
this method replacement overwrites a previous annotation targeting the same method, only one replacement per method can be active at a time
[INFO - Tue, 9 Apr 2024 13:22:55 +0200] Compilation complete
[INFO - Tue, 9 Apr 2024 13:22:55 +0200] Output successfully saved to F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\cache\final.redscripts.modded
Edit:
RED4ext ...
"More details can be found in the logs.
D:\a\RED4ext\RED4ext\src\dll\hooks\ValidateScripts.cpp:42"
I can't found this ?!
I'll look into it when back on computer.
[2024-04-09 16:10:13.638] [RED4ext] [warning] Could not load plugin 'audioware'. Error code: 225, msg: 'Unable to complete the operation because the file contains a virus or potentially unwanted software.', path: 'F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\red4ext\plugins\audioware\audioware.dll'
and,
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.PlayOverThePhone' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\AudioSystemExt.reds:3
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineLocale' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:5
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineGender' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:6
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.DefineEngineSubtitles' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:7
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.SupportedEngineLanguages' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:8
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.GetReactionDuration' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Compat.reds:9
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UpdateEngineState' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\Natives.reds:14
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.RegisterEmitter' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\System.reds:3
[2024-04-09 16:10:20.439] [RED4ext] [error] Script validation error: Missing native global function 'Audioware.UnregisterEmitter' at F:\Program Files (x86)\GOG Galaxy\Games\Cyberpunk 2077\r6\scripts\Audioware\System.reds:4
I was initially very surprised any virus could exist since my releases are automated on Github CI, and everything is auto-compiled/generated/packed there without any manual intervention.
But reporting your issue on Discord modding community, I actually learned that one tool that I use in CI for binary size reduction, UPX, tends to get flagged by antiviruses.
Would you mind giving a try to the next version available on Github and confirm it solves your issue before I release it officially on Nexus?
The reason why your Antivirus panics is most likely because Audioware reads YML file on game launch then loads audio files to play them on-demand in-game. What is weird though, is that I couldn't find the virus you mentioned listed when searching on Google.
That being said, I'm gonna add the checksum on next release, if this is a concern.
Bummer.
I just released a new version available on Github and I'm collecting feedbacks before releasing it officially on Nexus: would you mind letting me know if this solves your issue?
Had no issues before, addicted mod was updated too
(Note: I'd also updated CET and ArchiveXL, as well as Addicted, to the latest today, maybe there's some interaction there? Removing Audioware definitely boots the game up again, but maybe there's something new in those latest version of CET or ArchiveXL that aren't working with this latest version of Audioware?)
Currently re-packaging with the fix, should be available soon.
Sorry for the inconvenience! :)
Audioware's API is still slowly being built with more features added, and the good news is that I'm not alone anymore: thanks to Nibana, Demon9ne and other people who stepped in!
p.s: v0.8.7 was yanked due to a nasty crash on game launch... thanks to kromancer, gurugeorge, Jeoshua and Syynx for collectively reporting this issue so fast!
Seem like the new ver is erro, can you fix it?
I'm on the exact same versions (redscript / red4ext / CET), but I don't get any issue at all.
Could you be missing Codeware 1.8.2 ?
Otherwise it might come from Vortex, I don't know because I've never used it.
p.s: please consider checking redscript/red4ext logs and posting them here.
That being said it could be added in a distant future, I'll consider it.
First step for me is to clean my code, support settings, different kind of audios (voiceover, sfx, dialogs, etc), improve internal audio management and a couple of other tasks before exposing any API to public usage.
I currently also use in parallel my own mod, Addicted, to battle-test it first.
This will take some time, stay tuned :)
I want to also state that this plugin actually onboards another alternate audio engine, which means I have close to zero control on what is done by the original vanilla audio engine (AudioKinetics for that matters). The reason being that vanilla audio-related methods are buried deep inside the binary, and I frankly don't have the energy to hook onto dozen (if not over a hundred) vanilla methods, understand how they relate, learn AudioKinetics internals, and so on. That would require way too much work and any mistake would potentially disrupt sounds in your game, which is the last thing I want to cause.
To me your request would fit perfectly in a different plugin,
and you can definitely open a ticket in #mod-requests channel in ➡️ Cyberpunk Discord community.
[2024-02-03 04:46:59.287] [audioware] [error] IoError(
Os {
code: 3,
kind: NotFound,
message: "Impossibile trovare il percorso specificato.",
},
) (vanilla/fr-fr/v_scene_dex_default_f_182ad40c364ea000.Wav)
[2024-02-03 04:46:59.289] [audioware] [error] IoError(
Os {
code: 3,
kind: NotFound,
message: "Impossibile trovare il percorso specificato.",
},
) (vanilla/fr-fr/v_scene_dex_default_m_182ad40c364ea000.Wav)
[2024-02-03 04:46:59.333] [audioware] [info] on post register audioware
[2024-02-03 04:47:37.750] [audioware] [info] on unload audioware
It will be fixed by next release.
Here's the commit that fixes it, if you're curious.
Easily fixed by commenting out the logchannel lines from Debug.reds and System.reds
Currently it does allow me to load localized / genderized audio files and their subtitles from a YAML file (very similar with REDmod which does it with JSON file), and hook into the AudioSystem's Play and Stop methods to handle custom audio with another audio library. I also leverage Codeware to automatically show/hide the appropriate subtitle whenever an audio gets played. I'm currently experimenting with new additional features and will release proper documentation and examples when it will be mature enough for other to use.
I also released it for transparency reasons: people might be uneasy to install an unknown binary, for good reason. This way, its source-code is made available publicly and there's no ambiguity about what this mod does: people can inspect the code by themselves.
Happy new year ZImingZhao!