Would the team object to a mini feature added to ScummVM?

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Reckless
Posts: 221
Joined: Tue Nov 01, 2005 1:12 am

Would the team object to a mini feature added to ScummVM?

Post by Reckless »

Vista has a facility called 'Games Explorer' which is basically a special folder showing box art for games and offering a one stop shop for games. However, in order for a game to show up you properly have to register the game using new Game Explorer APIs.

As an example, I've hacked together a -removed- that will perform the necessary steps on an existing version of ScummVM. The tool requires .NET Framework 2.0 to run (which'll be on Vista!) and a copy of Resource Hacker (freeware and included in the ZIP).

Steps to run:
1) Download the ZIP
2) Unpack into the ScummVM install directory (i.e. where scummvm.exe is located)
3) Open command prompt at the same location
4) Run batch file - Add ScummVM To Games Explorer.bat

If you want to uninstall ScummVM from Games Explorer, you can run RegisterGame.exe with -x 'guid' (the value of which is shown as output when registering the game). If you forget/loose it you can always just navigate to the Games folder on disk and look at the 'guid' directories and their content, deleting the one that applies to ScummVM. The tool will also snapshot your existing scummvm.exe to _scummvm.exe in case you're worried about it going pear shaped!

Once ScummVM is registered, the result will be something like:

Image

The Scooby game next to ScummVM shows a 'manual' install (drag shortcut to Games Explorer) and looks less 'impressive' than a proper entry.

The above is just an proof of concept! If the ScummVM team would like this added properly, then I'd be up for doing it. Although I don't really like Vista, as of last week my kids's replacement Media PC is running it.... and besides it'd be my chance to add something to the project (albeit very small) :)

The task would involve the following:
  • Agreeing on the content of the GDF (the file that describes the properties exposed by the Games Explorer, name, description, version, ...)
  • Managing the GDF XML file (possibly per release)
  • Creating a proper 'box shot' (unlike my screen grab effort)
  • Building a binary resource from the XML/boxshot
  • Incorporating the resource file into the Windows build
  • Update the Inno Setup to call a [new] script that registers ScummVM with Vista's Games Explorer/Provide a better tool (i.e. one that's not hacked together from bits!).
If the team isn't interested, them no worries. Anyone can use the download as they like.
Last edited by Reckless on Tue May 15, 2007 10:28 pm, edited 1 time in total.
User avatar
Kaminari
Posts: 275
Joined: Mon Oct 24, 2005 2:25 am
Location: Paris, France
Contact:

Post by Kaminari »

Thing is, you're asking for a Windows feature but ScummVM is designed to be platform independant.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

But he's using an external tool to do it, not ScummVM itself
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Post by Herrscher »

Kaminari wrote:Thing is, you're asking for a Windows feature but ScummVM is designed to be platform independant.
LOL, the ScummVM Windows Installer also uses InnoSetup, which is - also - not platform independant. :wink: 8)
User avatar
exofreeze
Banned
Posts: 153
Joined: Thu Mar 09, 2006 1:06 am
Location: Dallas, TX
Contact:

Post by exofreeze »

I think it would be a nice addition to the windows installer.

I don't run Vista myself, but integrating into the OS a bit further can't be a bad thing since it's really just a superficial change.
User avatar
Kaminari
Posts: 275
Joined: Mon Oct 24, 2005 2:25 am
Location: Paris, France
Contact:

Post by Kaminari »

Herrscher wrote:LOL, the ScummVM Windows Installer also uses InnoSetup, which is - also - not platform independant. :wink: 8)
Well, I don't think that's comparable at all. But maybe I totally misunderstood what Reckless is asking for. I'm not familiar with Vista.
User avatar
exofreeze
Banned
Posts: 153
Joined: Thu Mar 09, 2006 1:06 am
Location: Dallas, TX
Contact:

Post by exofreeze »

it is very comparable. You have made a statment that assumes that scummvm uses no tools or integration which is platform dependent.

Herrscher is simply using an example of a tool which is platform dependent used by ScummVM very similiar to the idea proposed by Reckless.
Reckless
Posts: 221
Joined: Tue Nov 01, 2005 1:12 am

Post by Reckless »

Kaminari wrote:
Herrscher wrote:LOL, the ScummVM Windows Installer also uses InnoSetup, which is - also - not platform independant. :wink: 8)
Well, I don't think that's comparable at all. But maybe I totally misunderstood what Reckless is asking for. I'm not familiar with Vista.
What I'm asking for is feedback on the idea before I go out and spend time providing the feature properly.

Whether ScummVM is cross platform or not doesn't really come into question as the changes would be located in areas of the ScummVM source that are specific to Windows builds. The ScummVM executable would need an additional resource (two in fact) added [which is no different to the version resource currently provided] and the installer (InnoSetup) would be updated to perform an additional step when installing on a Vista based Windows system.

As a halfway house it'd make life easier/better if the resources were added during the Windows build so the team could control how ScummVM looks in Game Explorer (name, box art, developer list, etc.). The download I provided would just need to register ScummVM's executable as provided, rather than patch in the resources as it currently does in order to make it Game Explorer friendly (if you register a game without the resources it succeeds but then doesn't show up!).

I don't see the change as a necessity either so if you don't want it, like it or indeed see any benefit then that's OK by me. I don't use Vista either but my kids now do and I just thought some people may like this.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Reckless wrote:Whether ScummVM is cross platform or not doesn't really come into question as the changes would be located in areas of the ScummVM source that are specific to Windows builds.
Why would you want to make such a change to the ScummVM source? The scummvm source code itself is designed to be platform independent (apart from a couple of changes related to the location of the ini file). There's no point in modifying the ScummVM source itself for such a feature.

Plus, your executables are violating the GPL (there's no source code provided).
Reckless
Posts: 221
Joined: Tue Nov 01, 2005 1:12 am

Post by Reckless »

:roll:
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Posting such a reply and removing your download link doesn't help at all, really.

ScummVM is made to run under a variety of different platforms, therefore making such changes could make it not work under non-Windows platforms. That's why I said that an external executable would be better, so that there won't be any changes to the source itself, or the resources of the resulting binary, unless it's really necessary. An external resource can always be used for the feature you're asking for.

Plus, the license of ScummVM is GPL, which means that the whole project is open source. You can't expect to have a closed source tool included, as this would violate the license itself.

Finally, it would be better if you made a feature request in our tracker for this, instead of posting in the forums
Reckless
Posts: 221
Joined: Tue Nov 01, 2005 1:12 am

Post by Reckless »

1) You suggested you weren't happy with my download so I removed it on that basis. It's questionable whether the content of your post was correct but I didn't see the point arguing.

2) The ScummVM binary for Windows is Windows specific. The same goes for the version resource embedded within the executable. I was merely asking if it would be OK to extend that to include resources using by Vista's Game Explorer.

3) The installer for ScummVM in Windows is also Windows specific. Again, I would have updated this to register the game with Vista's Game Explorer.

4) I'm not asking for the feature to be done - I was actually offering to do it. I was just trying to ascertain whether there was any interest in doing so.

However it's clear that there's probably no real interest if the majority of responses are posts about ScummVM being cross platform and as such the feature not being suitable.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

1) It was not my intention to criticize your download, perhaps you got the wrong idea. I merely pointed out that providing closed source tools to a GPL'ed project is against the license of the project itself. Perhaps you should have said from the beginning that you compiled a project in the DirectX SDK and where you got the source code from (i.e. here)

2) It is Windows specific yes, but you never explained what was needed to be done, you just said that "the source code needs to be changed" without explaining how or why. Perhaps pointing to a link such as this or this, explaining what you've done, could have helped

3) Great

4) Yes, you offered to do it, and every help is welcome, but you used the wrong way to help. It'd be better if you used our tracker for this and either submit it as a patch or a feature request
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Post by Herrscher »

md5 wrote:Plus, your executables are violating the GPL (there's no source code provided).
OMG :shock:

Sorry, but this is just annoying ridiculous.

NOBODY wants the sourcecode to a hacked-together installer script that calls ONE Vista API function when executed, which was
a) just a proof-of-concept (and visual aid for the unknowing),
b) provided in a better way in the MSDN for free.

Plus, he would submit sourcecode once the feature got accepted. (it's a script btw)
Simply asking him (which is possible in the GPL) would suffice.

The worst thing of your post is the fact that you are a team member.
If every single dev which just wants to help implement some simple feature or add some UI polishing and "give something back" is blocked in that way with stupid dogmatic answers, I wonder why there are still members on the team. :shock:

Just my 2 cents. / No offence intended.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Reckless never mentioned that he used an example from MSDN in his original post, I personally had to search to see how this thing works, and since Reckless did some searching by the looks of it, he never explained what he did and how. Such a feature request can't be added if there's no explanation or source code of how it's done

Asking for the source code of something is not annoying ridiculous, it's how GPL works. The fact that this can be done via a script compiled in an executable is no exception
Herrscher wrote:The worst thing of your post is the fact that you are a team member.
I pointed him to the right direction, i.e. I told him to use the bugtracker and provide source code for what he did, I honestly don't understand why this is considered to be a "dogmatic answer".

And why are you evaluating me in this thread? Every patch is supposed to go through the bugtracker, with an explanation of how it's done and where changes are needed. Why is this "dogmatic"? It's how things are done for a long time, with all feature requests/patches

Plus, Herrscher, the last part of your post contradicts itself:
Herrscher wrote:The worst thing of your post is the fact that you are a team member.
If every single dev which just wants to help implement some simple feature or add some UI polishing and "give something back" is blocked in that way with stupid dogmatic answers, I wonder why there are still members on the team.

Just my 2 cents. / No offence intended.
....yet you clearly seem to offend here :? . Adding that "No offence intended" does not help...
Post Reply