|Anonymous | Login | Signup for a new account||2019-08-22 00:20 UTC|
|My View | View Issues | Change Log | Roadmap | Doomseeker Issue Support Ranking | Rules | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003695||Doomseeker||[All Projects] Bug||public||2019-08-01 17:01||2019-08-09 06:33|
|Assigned To||Pol M|
|Target Version||Fixed in Version|
|Summary||0003695: Ignoring a missing WADs dialog for a game with no in-game downloads breaks cmd arg resolution|
|Description||Doomseeker treats missing WADs for games that don't have in-game downloads as a fatal error. The fatality of this error is checked during each step of the game client's argument resolution routine. Thus, any argument that is supposed to be added after the "-file" arguments will not be added to the list when a fatal error occurs.|
Normally this is not an issue because a fatal error means that the game cannot be launched and thus the argument list built so-far is discarded anyway.
For games that have in-game downloads, such as Odamex, missing WADs are not a fatal error and will not break the arg resolution routine if user choses to "Ignore" this error. However, for reason forgotten, games that don't offer in-game downloads (Zandronum) can also have the missing WADs error "Ignored" and the game will happily launch. Of course, since the WADs were mandatory, the game will get stuck in the console complaining about them being missing.
However, the argument list after "Ignoriong" such error is built by the same routine that does the same "is a fatal error" checks. This means that the routine now breaks as soon as the "fatal error" occurs, but since we "Ignore" the "fatal error" now, the game will launch with an incomplete arg list.
|Steps To Reproduce||1. Configure a custom parameter for Zandronum game client in the config box.|
2. Find a Zandronum server where you don't have all the required WADs.
3. Try to join it. Missing WADs pop-up will appear.
4. Despite the WADs being mandatory, you can ignore the error.
5. Zandronum will launch, but the custom argument will not be present on its arguments list.
|Additional Information||By "Ignoring" the error I mean pressing the "Ignore" button in the "WADs are missing" dialog box.|
I think the argument list should be inspectable with 'ps' on Linux, but if you can't use that then a temporary qDebug() can be added to AppRunner::runExecutable() to print it out.
The problem is caused by BAIL_ON_ERROR() macro in GameClientRunner::createCommandLineArguments_default().
It can be contemplated if the "Ignore" button should be visible for games that will fail on missing WADs. I don't remember why this button is visible for plugins other than SRB2 and Odamex.
If "Ignore" button is to be kept in the way as it is now, the argument resolution routine must be made aware that missing WADs are not a fatal error when we're ignoring them.
Pol M (developer)
I feel like there's no reason for the ignore button to exist in Zandronum (plus choco). I'll take this ticket and make the commits in the "default" branch.
I'm aware that this has a close relationship with the "internal-clients" branch.
Quote from Zalewa
IIRC, there is a valid use case for this and I use it very often. If the missing WADs are only optional WADs, I don't have to uncheck each of those optional WADs before continuing.
|Yes indeed I believe this was the actual reason, Wub. The "Ignore" button is indeed useful in this case. But as soon as there's a non-optional WAD missing the button may be allowed to disappear.|
Pol M (developer)
edited on: 2019-08-01 19:28
The menu does not even appear when the missing wads are all optional. That said, I can agree on the idea that if the menu has only optional files on it, for redundancy the button can be left enabled.
|I could be misremembering but I believe the button predates Zandronum's optional wad support? Not that I have a problem with removing it, but in theory it's useful for engines that don't have a concept of optional files in the protocol. (Or servers that list non-critical files as required because the operator couldn't be bothered.)|
|Only registered users can voice their support. Click here to register, or here to log in.|
|Supporters:||No one explicitly supports this issue yet.|
|2019-08-01 17:01||Zalewa||New Issue|
|2019-08-01 17:05||Zalewa||Note Added: 0020958|
|2019-08-01 18:15||Pol M||Note Added: 0020959|
|2019-08-01 18:15||Pol M||Assigned To||=> Pol M|
|2019-08-01 18:15||Pol M||Status||new => assigned|
|2019-08-01 19:09||WubTheCaptain||Note Added: 0020960|
|2019-08-01 19:12||Zalewa||Note Added: 0020961|
|2019-08-01 19:27||Pol M||Note Added: 0020962|
|2019-08-01 19:28||Pol M||Note Edited: 0020962||View Revisions|
|2019-08-09 06:33||Blzut3||Note Added: 0020963|
Questions or other issues? Contact Us.
|Copyright © 2000 - 2019 MantisBT Team|