I mentioned this in another thread entirely some months ago (it was a side thing that came up in a non-bug related thread).
I also suspect that, given that it is quite specific to this particular CVAR, it might be deliberate. However, I'll mention it here to at least find out if it was intended or not.
If an IPK3 for a stand-alone game has a DEFCVARS lump with the following line:
set queryiwad "false"
the above setting will be ignored and the IWAD picker will be shown when the game is run. Not surprisingly, when the game creates an ini, the newly generated ini has:
queryiwad=true
So, the IWAD picker will show up every time the game is run until it is disabled by the user.
There is only one IPK3 in the game folder and the only IWAD/IPK3 listed in the IWAD picker dialogue is the one for the game. So, I'd much rather the game just started without prompting the user to pick an IWAD/IPK3 via the IWAD selection dialogue (complete with inappropriate Doom screenshot in its banner).
I think the last version of GZDoom where it worked was 4.8. So, it's been a while.
I can "fix" it by providing a bare-bones ini file that has queryiwad set to false in it, but that starts to defeat the purpose of DEFCVARS. i.e. if I have to provide an ini for some things, I might as well put them all in an ini and not bother with a DEFCVARS lump at all.
So, anyway, was this an intended change, or is it a bug?
If it is deliberate, is there an approved method of making the IWAD dialogue not show up for a stand-alone game?
QueryIwad can't be set via DEFCVARS
Moderator: GZDoom Developers
Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
-
-
- Posts: 26696
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
-
- Posts: 13853
- Joined: Tue Jan 13, 2004 1:31 pm
- Preferred Pronouns: She/Her
Re: QueryIwad can't be set via DEFCVARS
For a long time there was interest in having the launcher dialog show even if only one IWAD is available and that recently was finally done.
The inability to change that via defcvars was a bit of an oversight but also a bit of a technical limitation. An easier way to accommodate this would simply be to have a flag inside iwadinfo.txt to turn queryiwad off temporarily, at least for that particular scan.
The way this was meant to be addressed from a game developer side was you would have a fork with a change in "version.h" that automatically disabled 'queryiwad' by default, for that particular executable.
But I don't think it's really 'right' to expect people to always have to self-compile to have goodies like this. So a new method for disabling this will indeed need to be made, one way or another, so that you can just bundle GZDoom alongside an IWAD and call it a day.
One other way this possibly could be addressed is to simply disable this behaviour entirely if game_support.pk3 is absent - this could be used as an indication to the engine that this is now a single-game engine not a full blown source port.
The inability to change that via defcvars was a bit of an oversight but also a bit of a technical limitation. An easier way to accommodate this would simply be to have a flag inside iwadinfo.txt to turn queryiwad off temporarily, at least for that particular scan.
The way this was meant to be addressed from a game developer side was you would have a fork with a change in "version.h" that automatically disabled 'queryiwad' by default, for that particular executable.
But I don't think it's really 'right' to expect people to always have to self-compile to have goodies like this. So a new method for disabling this will indeed need to be made, one way or another, so that you can just bundle GZDoom alongside an IWAD and call it a day.
One other way this possibly could be addressed is to simply disable this behaviour entirely if game_support.pk3 is absent - this could be used as an indication to the engine that this is now a single-game engine not a full blown source port.
-
-
- Posts: 26696
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
Re: QueryIwad can't be set via DEFCVARS
Thanks for the explanation.
As for the suggested solutions, it's not my call of course, but the flag in the iwadinfo.txt one seems to be better to me. That one is an explicit statement from the creator saying "this game is stand alone and should not use the IWAD picker".
I can see a couple of situations where the game_support.pk3 option could conceivably break. e.g. if a stand-alone game was released and a user wanted to update it to a newer version of GZDoom at some point, they may well accidentally copy the game_support.pk3 from the GZDoom distribution into their game folder. If the game had the iwadinfo.txt flag, that wouldn't really matter.
Perhaps the iwadinfo.txt idea could be extended to either the flag also meaning "...and don't load game_support.pk3" or maybe a separate flag for that precise purpose? Maybe that's just too much hand-holding and unnecessary though.
Either way, having the queryiwad thing addressed in some way would be nice.
As for the suggested solutions, it's not my call of course, but the flag in the iwadinfo.txt one seems to be better to me. That one is an explicit statement from the creator saying "this game is stand alone and should not use the IWAD picker".
I can see a couple of situations where the game_support.pk3 option could conceivably break. e.g. if a stand-alone game was released and a user wanted to update it to a newer version of GZDoom at some point, they may well accidentally copy the game_support.pk3 from the GZDoom distribution into their game folder. If the game had the iwadinfo.txt flag, that wouldn't really matter.
Perhaps the iwadinfo.txt idea could be extended to either the flag also meaning "...and don't load game_support.pk3" or maybe a separate flag for that precise purpose? Maybe that's just too much hand-holding and unnecessary though.
Either way, having the queryiwad thing addressed in some way would be nice.
