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 improvements. - 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