[GSoC] Continue work on Games Explorer

Mariusz Pluciński vshader at gmail.com
Fri Mar 25 17:07:07 CDT 2011

Hello, wine-devel

In the last year's GSoC, I was working on implementation of Games 
Explorer features under Wine. I have successfully created it's own 
interfaces and made them working. However, the task proved harder than I 
thought before, so I did not create a user-interface part of the 
library. My idea for this summer is to finish the implementation of 
gameux.dll - writing the Shell Extension for GE.

It would behave almost exact as the Windows equivalent - it should be 
able to display registered games as shell items, with possibility to run 
them, see the statistics etc.

Having this should give user-experience a great deal. However, in my 
opinion it would be also a good way to check and extend the existing 
implementation of shell32. As far as I know, there is currently no real 
shell extension being part of Wine, so the working one would increase 
compatibility a much.

There will be probably a problem with making my extension usable for 
user, as there's no working explorer currently in Wine. However, as I 
see,  the implementation of explorer is one of popular proposal this 
year. In my opinion, it would be good idea to cooperate my work on GE 
Shell Extension with the person who will implement explorer.exe (if both 
ideas will be selected for realization). This would probably improve the 
quality of both projects.

Summarizing, my project assumes following things to do:
  - write testing set to run under Windows. Tests will read the data 
from GE using it's shell interfaces.
  - creating stubs for shell interfaces. This will include following 
interfaces IShellFolder(2/3?), IShellView, IPersistFolder, IEnumIDList, 
IContextMenu, and probably a few other. I have created some stubs at the 
end of last GSoC, but never committed them, as they were requiring a few 
  - implementing interfaces using the existing infrastructure inside of 
gameux.dll. Routines giving access to list of installed games were 
written by me last year, but there are still some missing parts which 
must be filled to let shell interfaces return proper data.
  - extending and fixing parts of shell32 (or other libraries) if 
required. This is mostly undefined part of task, but I've listed it 
here, cause I suppose this could take significant part of project's time.

If there will be still time after finishing the points above, I would 
like to add one feature from my last-year proposal: a legacy games 
support. When Microsoft introduced the Games Explorer in Vista, they 
provided a big set of definitions of currently existing games to make 
them visible in GE, without requirement of modifications in games. My 
idea is to extend Wine's Application Database to allow it serve as 
legacy games database for our GE. This would increment an user 
experience from using the tool.

My name is Mariusz Pluciński. I'm 20 years old student of Information 
Technology in Gdańsk University of Technology in Poland. Last year I was 
successfully participating in GSoC in Wine project (project name was 
"Implementation of Windows Game Explorer equivalent "), so my knowledge 
seems to be enough to continue work with even better results.

Comments are welcome

Best regards
Mariusz Pluciński

More information about the wine-devel mailing list