Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003695Doomseeker[All Projects] Bugpublic2019-08-01 17:012021-08-07 16:57
ReporterZalewa 
Assigned ToPol M 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.3 
Target Version1.3.1Fixed in Version1.3.1 
Summary0003695: Ignoring a missing WADs dialog for a game with no in-game downloads breaks cmd arg resolution
DescriptionDoomseeker 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 Reproduce1. 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 InformationBy "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().
Attached Files

- Relationships

-  Notes
User avatar (0020958)
Zalewa (developer)
2019-08-01 17:05

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.
User avatar (0020959)
Pol M (developer)
2019-08-01 18:15

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.
User avatar (0020960)
WubTheCaptain (reporter)
2019-08-01 19:09

Quote from Zalewa
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.


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.
User avatar (0020961)
Zalewa (developer)
2019-08-01 19:12

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.
User avatar (0020962)
Pol M (developer)
2019-08-01 19:27
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.

User avatar (0020963)
Blzut3 (administrator)
2019-08-09 06:33

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.)
User avatar (0020986)
Pol M (developer)
2019-08-23 20:00

PR
User avatar (0020989)
Zalewa (developer)
2019-08-24 07:56
edited on: 2019-08-24 07:57

Quote from Blzut3

I could be misremembering but I believe the button predates Zandronum's optional wad support?

Yes the button predates Zandronum's optional wad support. I think it was originally meant to allow joining Odamex servers where the game can just download the wads instead.

The PR is merged. For the time being the problem may be healed because the UI will no longer allow for it to be triggered. However, since the underlying cause is still there, we cannot be certain that it won't reemerge in the future (much like the SORT_GROUP column). Nevertheless, I will consider this as up for testing.


Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: No one explicitly supports this issue yet.
Opponents: WubTheCaptain

- Issue History
Date Modified Username Field Change
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
2019-08-23 20:00 Pol M Note Added: 0020986
2019-08-23 20:00 Pol M Status assigned => needs review
2019-08-24 07:56 Zalewa Note Added: 0020989
2019-08-24 07:56 Zalewa Status needs review => needs testing
2019-08-24 07:57 Zalewa Note Edited: 0020989 View Revisions
2021-08-07 16:57 Blzut3 Fixed in Version => 1.3.1
2021-08-07 16:57 Blzut3 Target Version => 1.3.1
2021-08-07 16:57 Blzut3 Status needs testing => closed
2021-08-07 16:57 Blzut3 Resolution open => fixed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker