Bug#691772: -w and -f arguments, and no-argument invocation, in g-d-p games

Simon McVittie smcv at debian.org
Fri Jan 16 11:06:12 UTC 2015


Control: retitle 691772 command-line processing should be consistent
Control: block 691772 by 775082 775083

Redirecting this to #691772 because I think this is getting way off
topic for a bug about Wolfenstein 3D support; please excuse the
resulting full-quoting.

I think I would prefer to get all the games into Python/YAML (which
means writing CD-ripping and lgeneral-processing code), *then* think
about how to make their command-line syntax consistent and optimal once
we know the technical constrains; and that's getting into the same sort
of thing previously discussed on #691772, so I'm going to repurpose
#691772 for that.

On 16/01/15 06:39, Alexandre Detiste wrote:
>> Regardless, the help text should probably say "game-data-packager
>> GAME --help" instead.
>
> Then games/ rott.py | tyrian.py | wolf3d.py feel like useless
> duplicated boilerplate.

There's a good reason why they feel like useless duplicated boilerplate:
it's because they are :-P

The only reason I wrote those files was to keep the -w and -f
command-line arguments working for now. When we have all the games
converted and can see more clearly what features we do and don't need,
I'm seriously considering removing support for those arguments.

We should probably have a common --download/--no-download option (with
--download being the default) so you can tell gdp not to go and download
stuff automatically; but I would like to get everything YAML'd first,
because implementing new global options in the shell script wrapper
seems like wasted effort when we only have a couple of games that really
still need it, and those are hopefully on their way out.

> The only missing bit in the core argparser is the one that would
> construct "Download %s (done automatically if necessary)" in the help
> text (where %s is tyrian21.zip/1rott13.zip/1wolf14.zip)
> from the yaml file or simply decide that this is stuff that the users
> doesn't need to care about and remove this stuff and the -w|-f
> switches altogether.

I don't think the "Download %s" text is important. It's only there
because I needed the Python "plugin" for -w/-f anyway, and having
written that, the help text was trivial.

On 16/01/15 05:55, Stephen Kitt wrote:
> On Fri, 16 Jan 2015 00:28:20 +0000, Simon McVittie <smcv at debian.org>
wrote:
>> On 15/01/15 23:06, Stephen Kitt wrote:
>>> (BTW, this new default goes against the main help message, which
>>> ends with
>>> "run game-data-packager [game] to see game-specific arguments".)
>>
>> Hmm, yes. I'm not sure what should happen there...
>>
>> On one hand, if there's an obvious Easy Correct Thing for
>> "game-data-packager $game" to do, it should just go and do it rather
>> than expecting extra command-line arguments. It seemed particularly
>> silly that for smallish and free-to-download games like Tyrian and
>> the Panzer General files for LGeneral, you need to add "-w" to make
>> it actually give you a .deb.
>>
>> On the other hand, if it goes off and downloads the demo or shareware
>> version automatically, the ability to get the full game isn't as
>> discoverable as it could be.
>>
>> I might go for some sort of compromise, like: if there's suitable
>> full-version data in a --search path, just do it; else require some
>> sort of hint to the user's intentions before we go off and download
>> things (with some standard argument like --auto to mean "do what I
>> mean"). Or perhaps I should always require --auto, but allow it to
>> be enabled in a configuration file.
>>
>> Regardless, the help text should probably say "game-data-packager
>> GAME --help" instead.
>
> That all seems perfectly sensible. I definitely like the idea of just
> doing the right thing if it's possible by default!

As I said above, I think the time to sort this out is after everything
is Python/YAML.

Regards,
    S



More information about the Pkg-games-devel mailing list